Il linguaggio di programmazione PHP
 

problema encoding su db pgsql

Roberto Tagliaferri 7 Mar 2017 10:01
Hola, ho un ******* excel (xlsx, quindi in xml ed in testa il ******* è
dichiarato
utf8) che sto importando con la libreria xlsxreader.

Va tutto più o meno bene a parte il non importare caratteri "strani"...

Warning: pg_query_params(): Query failed: ERRORE: sequenza di byte non
valida per la codifica "UTF8": 0xe3a020
HINT: Questo errore può anche accadere se la sequenza di byte non
corrisponde alla codifica attesa dal server, che è controllata da
"client_encoding".

Se però faccio l'echo dell'encoding capito da mb_detect_encoding mi dice
utf-8, se faccio l'echo del testo sul terminale (linux, configurato come
utf-8) lo vedo bene.

c'è di default un bel pg_set_client_encoding(utf8); questo è il testo
incriminato (copia e incolla dalla finestra di xterm):

Disco ø 60 cm lamiera classe I.
Indica la velocità massima consentita per tutti i veicoli, ha validità
immediatamente dopo il segnale; prescrive di marciare a velocità inferiore o
uguale al valore indicato. Bisogna tenere conto però delle condizioni della
strada.
Il segnale non indica la velocità consigliata o quella minima, ma la
velocità massima da non superare. Vale anche per i motocicli. Si può trovare
su strade extraurbane ed in autostrada (ad esempio: quando ci sono lavori in
corso).

sembra che il problema sia il carattere del diametro ma utf non dovrebbe
soffrire di simili facezie.
Se imposto pg_set_client_encoding('latin1') viene importato ma con tutti i
caratteri sballati.

Dove è il problema?

--
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)tosnet.it
www.robyt.eu
fmigliori 16 Mar 2017 17:39
Non credo sia il carattere del diametro perché è D8 e non E3A020.
https://it.wikipedia.org/wiki/Ø

Probabilmente c'è qualche schifezza che non visualizzi.
Roberto Tagliaferri 17 Mar 2017 08:08
fmigliori wrote:

> Non credo sia il carattere del diametro perché è D8 e non E3A020.
> https://it.wikipedia.org/wiki/Ø
>
> Probabilmente c'è qualche schifezza che non visualizzi.
Ciao, grazie per la risposta.
Ho risolto ieri sera salvando in csv iso-8859-1 (e ovviamente settando
pg_set_client_encoding di conseguenza).
Se salvavo in utf comunque dava lo stesso errore.
--
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)tosnet.it
www.robyt.eu

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio di programmazione PHP | Tutti i gruppi | it.comp.www.php | Notizie e discussioni php | Php Mobile | Servizio di consultazione news.