Da è a è

6 contenuti / 0 new
Ultimo contenuto
Ritratto di ziobudda
Offline
UberDrupalitaliano
Iscritto: 20 Mar 2009
Messaggi: 717
Da è a è

Ciao a tutti, sto rifacendo un sito da un CMS propietario del 1995 a Drupal.

Nel cms proprietario i dati nel db erano memorizzati in questo modo: "Rhapsodie Espagnole, Ma Mère l’Oye, Boléro ecc."

Ora io devo trasformare "è" in "è", anche per una questione di seo.

Ho pensato di utilizzare html_entity_decode(), ma il titolo diventa pieno di caratteri strani al posto dei vari è e poi nel db viene memorizzato come "Rhapsodie Espagnole, Ma M".

Dove è che sbaglio ? Come faccio questa conversione ?

M.

--
Michel 'ZioBudda' Morelli michel@ziobuddalabs.it
Sviluppo applicazioni CMS DRUPAL e web dinamiche (LAMP+Ajax)
Telefono: 0200619074
Telefono Cell: +39-3939890025 -- Fax: +39-0291390660

http://www.ziobuddalabs.it -- http://w

Ritratto di krima
Offline
Drupalista
Iscritto: 23 Dic 2006
Messaggi: 1637

ziobudda wrote:
Ora io devo trasformare "è" in "è", anche per una questione di seo.

Non ti so aiutare ma questa cosa mi ha incuriosito, perché è un problema per il SEO?

Ritratto di jhl.verona
Offline
Iscritto: 25 Set 2009
Messaggi: 2000

Mi sembra la strada giusta...

ziobudda wrote:
...Ora io devo trasformare "è" in "è", anche per una questione di seo.
Ho pensato di utilizzare html_entity_decode(), ma il titolo diventa pieno di caratteri strani al posto dei vari è e poi nel db viene memorizzato come "Rhapsodie Espagnole, Ma M".
Dove è che sbaglio ? Come faccio questa conversione ?
M.

Allora html_entity_decode() può ricevere fino a tre parametri, l'ultimo per definire il character set. Drupal e il DB (di solito) usano UTF-8, quindi bisogna settare quel terzo parametro a "UTF-8". Se non l'avevi fatto, spiega il problema che tu vedi. Perchè, per esempio, i carattere 0xCx, 0xEx e 0xFx in ISO8859-1 correspondono proprio ai carattere accentati (fra altri), mentre sono codice 'di espansione' per UTF-8, che legge le prossime 1, 2 o 3 byte per ricostruire il punto codice (code point) del carattere. Il che spiega gli caratteri strani (magari con altri persi per strada), e il fatto che il DB si arrende alla prima sequenza (prima carattere accentato) - probabilmente perchè non correspondeva ad una sequenza di espansione corretto.

Vedi http://en.wikipedia.org/wiki/ISO/IEC_8859-1
http://it.wikipedia.org/wiki/UTF-8

Se invece questo non è il problema, ho proprio spreccato un sacco di carattere - che sono in UTF-8 ;-)

Più imparo, più dubito.

Ritratto di ziobudda
Offline
UberDrupalitaliano
Iscritto: 20 Mar 2009
Messaggi: 717

@jhl: sono un pirla. L'avevo pure letto nella documentazione della funzione. Grazie mille per l'aiuto.
Ci sarai al drupal camp ?

M.

--
Michel 'ZioBudda' Morelli michel@ziobuddalabs.it
Sviluppo applicazioni CMS DRUPAL e web dinamiche (LAMP+Ajax)
Telefono: 0200619074
Telefono Cell: +39-3939890025 -- Fax: +39-0291390660

http://www.ziobuddalabs.it -- http://w

Ritratto di jhl.verona
Offline
Iscritto: 25 Set 2009
Messaggi: 2000

Sarà che io ho parecchie cicatrice con character encoding...

ziobudda wrote:
@jhl: sono un pirla. L'avevo pure letto nella documentazione della funzione. Grazie mille per l'aiuto.
Ci sarai al drupal camp ?
M.

Oh yes, spero che ci sia un bar - hint, hint ;-)

Più imparo, più dubito.

Ritratto di Psicomante
Offline
UberAdmin
UberAdmin
Iscritto: 24 Apr 2005
Messaggi: 1268

@john

Il bar ci sarà! Ed è piuttosto particolare :)