rebol write encoding=UTF8 no BOM
JJV14-Jun-2016/21:11:39+2:00
Bonjour,

Je souhaiterai pouvoir enregistrer des fichiers

<code>
write %file.txt{ A B C }
</code>

en uft-8 sans BOM

REBOL/View 2.7

Merci
JJV
peterwood16-Jun-2016/0:53:59+2:00
Bonjour

Vous devez convertir des chaînes Rebol en UTF-8. Cette bibliothèque peut vous aider - http://www.rebol.org/view-script.r?script=str-enc-utils.r

Désolé pour mon mauvais français.

Peter
JJV16-Jun-2016/12:51:45+2:00
Peter, votre français est correct.

merci pour cette bibliothèque...

J'ai essayé avec un write/string les résultats pour le "moment" semblent corrects.


write/string %file.txt{ A B C }


A+

JJV
JJV17-Jun-2016/8:46:49+2:00
Bonjour,

oupsss write est par default en string... rien ne sert de l'utiliser.

Lors de l'écritue de fichier en .txt
sous windows les fichiers sont ANSI (notepad++)


Lors de l'écritue de fichier en .r
sous windows les fichiers sont UTF-8 sans BOM (notepad++)

Es ce que Rebol écrit en UTF-8?

Merci de vos réponses.



-Comment utiliser la biblio de Peter?

do %str-enc-utils.r
html: make string! 50000
emit: func [code] [repend html code]

emit[
"le texte"
]

write fichier.html html


JJV
DideC17-Jun-2016/10:45:23+2:00
Rebol2 ne gère pas l'UTF8. Les sources R2 doivent être en ANSI.

Rebol3 gère l'UTF8. Les sources R3 doivent être en UTF8 !

Mais en R2 tu peux manipuler des chaines avec des codes UTF8 tant que tu les considères pour ce qu'elles sont : des buffers de données binaires, codées sur 1, 2 ou 4octets. Donc danger en utilisant des fonctions comme 'uppercase/lowercase ou autre qui pense que chaque caractère est toujours codé sur un octet.

Donc pour écrire sur le disque, il faut faire du 'write/binary pour que Rebol ne modifie pas le texte (remplacement des 'newline par des Lf ou CRLF selon l'OS) mais l'écrive tel quel.

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2