[Gfoss] memorizzare nel DB caratteri speciali UNICODE

salve a tutti

mi sto cimentando sull’uso corretto dell’UNICODE e dei caratteri speciali
qui ho trovato una guida che mi ha chiarito molti aspetti
http://maxpiano.altervista.org/unicode/intro.php?page=1

vorrei chiedere un vostro consiglio sulle regole da tenere
nella memorizzazione di caratteri speciali
in un DB con codifica UNICODE UTF-8

la banca dati sarà utilizzata per:

  • pubblicazione dati su web
  • esportazione XML

qual’è il modo migliore per creare una banca dati aperta a vari utilizzi/applicazioni?

qui la tabella con le codifiche UNICODE delle frazioni
http://maxpiano.altervista.org/unicode/unicode-chart.php?block=00002150

per esempio per scrivere la frazione “1/3” si possono usare tre codifiche:
unicode &# 2153;
html entity &# x2153;
html 1/3

ho fatto alcune prove e sarei orientato sulla seconda, “html entity”, perchè funziona sempre (nei test che ho fatto)
mentre la prima “unicode” non trova i font… (dove si trovano?)
e la terza “html” non viene interpretata correttamente nel export XML, il tag viene considerato un normale tag xml

non sono sicuro sia la soluzione migliore… voi che ne pensate?

grazie
Emanuele Masiero
Padova

On Wed, Mar 23, 2011 at 12:41:24AM +0100, emanuele masiero wrote:

vorrei chiedere un vostro consiglio sulle regole da tenere
nella memorizzazione di caratteri speciali
in un DB con codifica UNICODE UTF-8

la banca dati sarà utilizzata per:
- pubblicazione dati su web
- esportazione XML

Memorizza tutte e sempre in Unicode UTF-8 (UTF-8 è la codifica
più diffusa, solo il mio lettore mp3 usa Unicode UTF-16). A
maggior ragione se ha dichiarato che il tuo database è Unicode:
se ci butti dentro entità HTML o altre codifiche avresti
"dichiarato il falso".

Provvedi a fare le decodifiche - se necessario - quando presenti
i dati via web oppure in XML. Tra l'altro né il web né l'XML
pongono vincoli sul charset, anzi dovrebbero trovarsi più che
bene con l'UTF-8. Apache per esempio si configura facilmente per
UTF-8 e PHP abbastanza facilmente.

Certo che la resa finale prevede la disponibilità di un font che
contiene i glifi (il disegno) di tutti i caratteri utilizzati, ma
non esiste il "font perfetto" che contiene tutti i glifi di cui
potresti avere bisogno.

Ad ogni modo il futuro (anzi il presente) è Unicode, l'unico caso
in cui devo ancora convertire in ISO-8859-1 prima di presentare
il testo è la produzione di file PDF, ma questa è una'altra
storia.

--
Niccolo Rigacci
Firenze - Italy

Il giorno 23 marzo 2011 12:47, Niccolo Rigacci <niccolo@rigacci.org> ha scritto:

On Wed, Mar 23, 2011 at 12:41:24AM +0100, emanuele masiero wrote:

vorrei chiedere un vostro consiglio sulle regole da tenere
nella memorizzazione di caratteri speciali
in un DB con codifica UNICODE UTF-8

la banca dati sarà utilizzata per:

  • pubblicazione dati su web
  • esportazione XML

Memorizza tutte e sempre in Unicode UTF-8 (UTF-8 è la codifica
più diffusa, solo il mio lettore mp3 usa Unicode UTF-16). A
maggior ragione se ha dichiarato che il tuo database è Unicode:
se ci butti dentro entità HTML o altre codifiche avresti
“dichiarato il falso”.

Provvedi a fare le decodifiche - se necessario - quando presenti
i dati via web oppure in XML. Tra l’altro né il web né l’XML
pongono vincoli sul charset, anzi dovrebbero trovarsi più che
bene con l’UTF-8. Apache per esempio si configura facilmente per
UTF-8 e PHP abbastanza facilmente.

Certo che la resa finale prevede la disponibilità di un font che
contiene i glifi (il disegno) di tutti i caratteri utilizzati, ma
non esiste il “font perfetto” che contiene tutti i glifi di cui
potresti avere bisogno.

Ad ogni modo il futuro (anzi il presente) è Unicode, l’unico caso
in cui devo ancora convertire in ISO-8859-1 prima di presentare
il testo è la produzione di file PDF, ma questa è una’altra
storia.


Niccolo Rigacci
Firenze - Italy

grazie niccolo!!

emanuele