Page 1 sur 1

A propos de l'encodage des fichiers sgf

Posté : dim. 14 oct. 2012 15:25
par fanfan
Bonjour,

Vous l'avez sans doute remarqué, parfois goswf ou gos n’arrivent pas à afficher correctement certaines informations contenues dans les fichiers sgf comme les noms des joueurs lorsqu'ils sont asiatiques.

C'est par exemple le cas pour la partie ci-dessous (qui provient du topic de ce forum go-parties/sugawara-akitada-vs-fujisawa ... -t113.html) :


Avec goswf :



Avec Gos :


Ceci a essentiellement deux causes : pour goswf, le problème provient du fait qu'il attend des fichiers en UTF-8 (ce qu'on ne peut guère lui reprocher au passage) et que le fichier ci-dessus est en Shift-JIS (pour connaitre l'encodage d'un fichier, on peut soit utiliser un éditeur de texte approprié, soit tenter de visualiser le fichier sgf tel quel dans un navigateur et essayer de trouver le bon encodage en modifiant l'encodage qu'utilise le navigateur pour afficher la page). Pour gos, le problème provient du fait que la propriété sgf CA est mal renseignée dans le fichier (si cette propriété est bien renseignée, gos arrivera à lire le fichier et le transformera en UTF-8). Cette propriété doit indiquer l'encodage du fichier, Shift-JIS donc pour le fichier ci-dessus, mais quand on regarde le code du fichier, on s'aperçoit que cette propriété est absente (au passage, dans ce cas, un lecteur sgf "doit" supposer que le fichier est en ISO 8859-1). Du coup, gos se trompe lui aussi.

Alors que faire ?

La première action est d'ajouter la propriété CA au fichier avec le bon encodage (via un éditeur de texte, ça sera suffisant). Ici, on ajoute donc CA[Shift-JIS] juste après le premier ";" dans le fichier sgf. On obtient alors ce résultat (on peut voir que gos se met à marcher puisque la propriété CA correspond bien à l'encodage du fichier, tandis que goswf, lui, attend toujours de l'UTF-8) :

Avec goswf :


Avec gos



Pour faire marcher goswf, il faut transformer le fichier en UTF-8. Ceci peut être fait via un éditeur de texte approprié (n'oubliez pas de modifier aussi la propriété CA en CA[UTF-8] car l'editeur de texte ne le fera pas automatiquement), ou si vous n'en avez pas, via http://jeudego.org/edit/ (ouvrez le fichier puis sauvegardez-le : gos lira le fichier en Shift-JIS et le transformera automatiquement en UTF-8 y compris la propriété CA). On obtient alors ceci :

Avec goswf :


Avec gos :


Les deux lecteurs décodent bien le contenu comme il le faut.

En résumé, ne postez que des fichiers sgf au format UTF-8 et avec la propriété CA[UTF-8] dans ces fichiers !

Elle est pas belle, la vie ? :-)

Re: A propos de l'encodage des fichiers sgf

Posté : lun. 15 oct. 2012 15:42
par igotoy
C'est bon à savoir, merci !