Titolo: Creare un file di testi UTF-8 con BOM
Categoria: Codice |
|
Ultimo Aggiornamento: 11/06/12 |
Il testo in 4d era in Mac ASCII fino alla versione 2004, dalla v11 è in UTF-16 (a meno che non abbiate lasciato la compatibilità Ascii del db)
Quando si esporta un file in Unicode è necessario normalmente indicare in che formato sono i caratteri che occupano 2 byte (big-endian o little-endian) con un prefisso chiamato un BOM (Byte Order Mark). In realtà in UTF-8 si tende ad esportare i caratteri in byte singoli quindi in linea di massima non ci sono problemi di ordinamento dei byte, e non servirebbe.
Però alcune applicazioni se lo aspettano comunque, quindi a volte è necessario aggiungerlo, come ad esempio con questa procedura:
C_TEXT($1;$testo_t)
C_BLOB($blob_b;$bom_b)
$testo_t:=$1
SET BLOB SIZE($bom_b;3)
$bom_b{0}:=239 ` EF
$bom_b{1}:=187 ` BB
$bom_b{2}:=191 ` BF
CONVERT FROM TEXT($testo_t;"UTF-8";$blob_b)
$doc_h:=Create document("")
If (OK=1)
SEND PACKET($doc_h;$bom_b)
SEND PACKET($doc_h;$blob_b)
CLOSE DOCUMENT($doc_h)
End if
Inviato da: Umberto Migliore |
|
Visite: 12280 |
Se accedi con utente e password, puoi aggiungere dei commenti.