Bonjour,
J’essaie depuis fort peu de temps d’utiliser Livrant et ai même commencé à créer une fiction très simple.
Or j’ai pu constater qu’en fonction des systèmes d’exploitation que j’utilise, en l’occurence Linux (Ubuntu, à la maison) et Windows (XP, au travail) les caractères accentués n’étaient pas toujours lus correctement. Pour qu’ils le soient il est nécessaire de s’assurer que la fiction est codée en UTF8 pour Linux et ISO-8859 pour Windows.
Il m’est donc nécessaire de produire 2 textes, avec les 2 codages si je veux pouvoir faire fonctionner la fiction sur chacune des 2 plateformes. Ce n’est pas très grave mais pas très pratique non plus.
Suis-je le seul à qui cela est arrivé ?
Existe-t-il une manière plus simple de procéder, pour qu’un même texte puisse être lu indifféremment sous Linux ou Windows ?
Je m’interroge.
en tapant « env », j’ai cela : G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252
avec la commande :
locale charmap on en sait un peu plus sur la locale utilisée (l’encodage utilisé) par la distribution. Apparemment, pour moi c’est ISO-8859-15
utf-8 ne sert pas à grand chose si ce n’est avoir ce genre de problème. Si tu veux tu peux taper la commande dpkg-reconfigure locales pour changer de type d’encodage, mais tu auras peut être des pb avec tes autres fichiers existant sur ton disque.
Autre solution, plus simple ; tu configures ton éditeur de texte pour qu’il ouvre ton fichier livrant en ISO-8859-15 exclusivement.
L’utf8 n’est pas exclusif à linux, d’ailleurs je viens de tester pour l’amorce de jeu que j’avais faite, et les caractères passent bien sous windows et linux. Est-ce que tu pourrais tester chez toi ? Qu’est-ce que cela donne ? Idem pour le manuel et l’exemple de jeu, est-ce que les accents sont biens ou pas ?
Alors là pas d’accord. Si l’ensemble des logiciels se mettaient à utiliser UTF-8, qui permet de coder quasiment tous les caractères existant dans les langues principales (plusieurs dizaines de milliers de caractères), on n’aurait plus jamais ce genre de problèmes !
je voulais dire : « utiliser utf8 actuellement »
Unicode c’est super, mais il manque encore des outils adaptés pour que cela se passe bien pour la migration (par exemple c’est inacceptable qu’un système de fichier utf-8 ne fassent pas apparaître les bons caractères dans un explorateur de doc en ISO-8859-15 et vice versa). Il devrait pouvoir être possible d’avoir une surcouche temporaire qui assurerait une bonne transition.
En ce qui me concerne, et sans surprise, c’est UTF-8, et seulement ça (à la maison). Je peux écrire avec gedit, mon éditeur de texte préféré, aussi bien en UTF-8 qu’en ISO-8859-15 (c’est ce que je fais pour avoir mes 2 versions de textes), mais ça ne change rien, car si j’utilise un texte ISO-8859-15 à la maison, les accents et caractères spéciaux sont illisibles… et inversement (UTF-8 sous Windows).
Ça ne suffit pas ! gedit ouvre indifféremment dans les 2 codages. Ce qui compte c’est le codage du texte enregistré quand il est lu par Livrant.
Non ! C’est comme ça que je m’en suis rendu compte : à partir des exemples de jeu, qu’il m’a fallu tous les transformer pour pouvoir les lire. Idem pour sarvegne.txt.
Dans la pratique, avec 2 fichiers txt, ayant 2 codages, on s’en sort très bien. Au pire, un fichier txt qui n’est pas bien codé, il est possible de le convertir (avec gedit, par exemple, ce que j’ai fait pour tous les exemples et ta fiction). Ce n’est donc pas très grave, même si ce n’est pas pratique. Si c’est au format .livrant, c’est plus embêtant, parce que si ce n’est pas le bon codage, c’est mort car impossible à convertir directement (et c’est justement ce qui m’est arrivé : j’ai voulu mardi dernier utiliser ce que j’avais commençé à faire avec un élève… et comme au travail, c’est Windows, je n’ai pas pu.
)
Ce que je voulais savoir, c’est s’il y avait une autre façon de faire. Manifestement pas !.. Ce qui est d’autant plus dommage, car par ailleurs le logiciel Livrant est justement utilisable quelque soit la plateforme, puisque ça tourne avec Java !
Tant pis.
il doit être possible d’exporter temporairement un autre encodage au moment de l’exécution java sous linux.
essaye à tout hasard :
export LANG=fr_FR && java -jar Livrant2.jar
ou
export LC_ALL=fr_FR && java -jar Livrant2.jar
sinon essaye de contacter l’auteur de livrant pour voir s’il ne peut pas modifier cela, par exemple définir un encodage en « dur » une fois que c’est transformé en .livrant et que la machine virtuelle s’y tienne pour ne pas avoir de mauvaise surprise (utf ou iso…, ou au choix lors de l’export)
j’ai installé une nouvelle distribution linux chez moi (Debian), et là aussi c’était l’utf8 par défaut. J’ai constaté également le problème. Je suis repassé en ISO-8859-15, par contre il doit t’être possible, sans changer tes locales, de faire (en root) :
dpkg-reconfigure locales
puis d’ajouter fr_FR@euro en plus d’utf8. Ensuite tu peux garder utf8 pour la compatibilité avec ton système existant, et lancer livrant avec une des 2 commandes :
export LANG=fr_FR@euro && java -jar Livrant2.jar
export LC_ALL=fr_FR@euro && java -jar Livrant2.jar
Oui, mais ça, je ne sais pas (encore) faire !..

avec dpkg-reconfigure locales il te propose d’ajouter des locales pour pouvoir utiliser sur ton système, puis de choisir la locale par défaut. Ajoute fr_FR@euro, mais garde utf-8 par défaut si tu le souhaites