Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #20930 > unrolled thread

problema con charset

Started byNoS <NoS@nospam.no>
First post2016-06-14 16:38 +0200
Last post2016-06-14 20:27 +0200
Articles 5 — 3 participants

Back to article view | Back to it.comp.www.php


Contents

  problema con charset NoS <NoS@nospam.no> - 2016-06-14 16:38 +0200
    Re: problema con charset Alessandro Pellizzari <shuriken@amiran.it> - 2016-06-14 17:14 +0100
      Re: problema con charset NoS <NoS@nospam.no> - 2016-06-14 19:16 +0200
        Re: problema con charset fmigliori <fmigliori@gmail.com> - 2016-06-14 11:14 -0700
          Re: problema con charset NoS <NoS@nospam.no> - 2016-06-14 20:27 +0200

#20930 — problema con charset

FromNoS <NoS@nospam.no>
Date2016-06-14 16:38 +0200
Subjectproblema con charset
Message-ID<njp4ts$15pb$1@gioia.aioe.org>
Devo mettere mano a codice creato da altri.
Ora ho un problema con l'estrazione di dati dalle tabelle di un db mysql.


Nel campo "indirizzo" di una tabella utenti, se osservo la tabella da 
phpmyadmin, trovo righe che contengono stringhe come questa:

1 - "località Piazza, 16"

ma anche righe contenenti stringhe come:

2 - "Via Niccoló B. 12"


Ora con i caratteri speciali riportati e archiviati in maniere 
differenti non riesco ad estrarli nella maniera corretta perchè ad 
esempio se setto, dopo la connessione un

mysql_set_charset('utf8');

viene correttamente estratta la riga 1 ma la riga 2 non è decodifica, 
viceversa altre soluzioni tipo

htmlspecialchars():

risolvono il caso 2 ma non il caso 1.


Come posso risolvere?
Qualche indizio?

Grazie in anticipo.

[toc] | [next] | [standalone]


#20931

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2016-06-14 17:14 +0100
Message-ID<dsaoqcFla3qU1@mid.individual.net>
In reply to#20930
On 14/06/2016 15:38, NoS wrote:

> Come posso risolvere?
> Qualche indizio?

Non puoi, a meno di non sapere esattamente con che charset è encodata 
ogni riga.

Fidati, giusto la settimana scorsa ho passato 2 giorni a cercare un modo 
per fare il detect dei charset e la conclusione è che è impossibile, a 
meno di non avere testi molto lunghi con parole comuni, facendo un 
confronto a vocabolario.

Quello che ho fatto in passato nel tuo caso è stato comunque settare 
tutto a utf-8, e lasciare che gli utenti del pannelli di amministrazione 
correggessero un po' alla volta gli errori manualmente, man mano che li 
vedevano... :D

Bye.

[toc] | [prev] | [next] | [standalone]


#20932

FromNoS <NoS@nospam.no>
Date2016-06-14 19:16 +0200
Message-ID<njpe4t$1lgr$1@gioia.aioe.org>
In reply to#20931
Grazie della risposta,
In effetti ho fatto un tentativo per cercare di capire come è encodata 
ogni riga e quindi applicare il giusto decode ma non sono riuscito.

Quindi l'unica cosa che posso fare è applicare uno dei due metodi e 
bypassare l'altro.

Il 14/06/2016 18.14, Alessandro Pellizzari ha scritto:
> On 14/06/2016 15:38, NoS wrote:
>
>> Come posso risolvere?
>> Qualche indizio?
>
> Non puoi, a meno di non sapere esattamente con che charset è encodata
> ogni riga.
>
> Fidati, giusto la settimana scorsa ho passato 2 giorni a cercare un modo
> per fare il detect dei charset e la conclusione è che è impossibile, a
> meno di non avere testi molto lunghi con parole comuni, facendo un
> confronto a vocabolario.
>
> Quello che ho fatto in passato nel tuo caso è stato comunque settare
> tutto a utf-8, e lasciare che gli utenti del pannelli di amministrazione
> correggessero un po' alla volta gli errori manualmente, man mano che li
> vedevano... :D
>
> Bye.
>
>

[toc] | [prev] | [next] | [standalone]


#20933

Fromfmigliori <fmigliori@gmail.com>
Date2016-06-14 11:14 -0700
Message-ID<dd861865-39e2-47a7-921c-a685692d5296@googlegroups.com>
In reply to#20932
Il giorno martedì 14 giugno 2016 19:16:15 UTC+2, NoS ha scritto:
> Grazie della risposta,
> In effetti ho fatto un tentativo per cercare di capire come è encodata 
> ogni riga e quindi applicare il giusto decode ma non sono riuscito.
> 
> Quindi l'unica cosa che posso fare è applicare uno dei due metodi e 
> bypassare l'altro.
> 
> Il 14/06/2016 18.14, Alessandro Pellizzari ha scritto:
> > On 14/06/2016 15:38, NoS wrote:
> >
> >> Come posso risolvere?
> >> Qualche indizio?
> >
> > Non puoi, a meno di non sapere esattamente con che charset è encodata
> > ogni riga.
> >
> > Fidati, giusto la settimana scorsa ho passato 2 giorni a cercare un modo
> > per fare il detect dei charset e la conclusione è che è impossibile, a
> > meno di non avere testi molto lunghi con parole comuni, facendo un
> > confronto a vocabolario.
> >
> > Quello che ho fatto in passato nel tuo caso è stato comunque settare
> > tutto a utf-8, e lasciare che gli utenti del pannelli di amministrazione
> > correggessero un po' alla volta gli errori manualmente, man mano che li
> > vedevano... :D
> >
> > Bye.
> >
> >

Se i due indirizzi sono nello stesso campo non ci sono modi corretti per risolvere il problema.

La cosa che farei è un un cerca e sostituisci delle sequenze incriminate.

Le lettere accentate maiuscole e minuscole non sono tantissime

ó cambia in ò, ...

Puoi anche esportare il campo con id e fare le modifiche con un editor o uno script php per poi fare un update.

Mi raccomando backup.

[toc] | [prev] | [next] | [standalone]


#20934

FromNoS <NoS@nospam.no>
Date2016-06-14 20:27 +0200
Message-ID<njpibe$1sre$1@gioia.aioe.org>
In reply to#20933
>
> La cosa che farei è un un cerca e sostituisci delle sequenze incriminate.
>

Si, ho optato per questa soluzione. Grazie

[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.www.php


csiph-web