Buongiorno a tutti,
Lavorando al 90% nel mio ufficio, in casa, non ho molte possibilità di confronto e perciò provo a postare un problema che secondo me
è più metodologico che tecnico.
Premessa:
- L'obbiettivo del lavoro è quello di costruire una base web multilingua.
- Poichè di lingue ce ne sono migliaia ci si prefigge di lavorare solo con le lingue europee o comunque le più conosciute (es. inglese, tedesco, spagnolo.. cioè non cirilliche ne arabe o altro.)
Oggetti in gioco:
- browser per la rappresentazione dei dati
- browser per l' immissione dei dati (CMS)
- Database (in questo caso MySql)
- PHP
- Server ?? Non ho capito se un tipo di server od un altro possa incidere
Impostazioni di base per lo svolgimento del progetto:
- charset da utilizzare è il "UTF-8";
- inserimento del charset nell'head delle pagine
- impostazione del database come collation UTF8_general_ci
Risultati:
I dati inseriti vengono gestiti e visualizzati correttamente
Fin qui si direbbe che sto scrivendo solo per dare qualche informazione a chi non ha mai lavorato in multilingua.
Può essere anche gratificante sapere che qualcuno lavora sulle tue informazioni ma purtroppo tutto ciò, che sembra corretto ha un
grande però...
Se andiamo ad analizzare i dati all'interno del database troviamo questa sorpresa.
I caratteri speciali, per esempio le accentante, vengono memorizzati in ascii ??!!!!
esempio Angorè = Angorè.
Si potrebbe pensare che ciò non sia un problema in quanto il browser pensa a gestire la decodifica del carattere.
Questo è vero ma si va incontro a due problematiche che sono poi gli spunti di riflessione veri e propri.
1 - Quando si effettua un backup da un database ad un altro questi caratteri possono determinare delle rotture nelle
stringhe di sql che vengono generate dai comandi di esportazione.
2 - se si prova a leggere il contenuto del db senza passare da una pagina html, quindi senza la dichiarazione di charset,
ci si ritrova esattamente quello che ha memorizzato mysql e cioè è al posto di è
Tutto ciò porta a strassanti sessioni di esportazioni e problematiche di utilizzo dei dati
quando questi occorrono in altri ambiti che non sia una lettura del browser
(es. creazione PDF, esportazione in file txt per applicazioni esterne, ecc.. ec..)
Ho lanciato la palla.. Qualcuno la raccoglie ????
Buon pensiero