A propos de l'encodage des fichiers sgf

Ici on discute des ressources informatiques pour le jeu de Go. Logiciels pour jouer, pour créer des diagrammes, pour tirer les rondes, etc. Et aussi, on peut lister les ressources en graphisme (artworks, logos, images, etc.).
Verrouillé
Avatar du membre
fanfan
Messages :123
Enregistré le :jeu. 18 févr. 2010 19:15
Club :Yosakura Nantes
Niveau :3d
Pseudo KGS/IGS :fanfan
Contact :
A propos de l'encodage des fichiers sgf

Message par fanfan » dim. 14 oct. 2012 15:25

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 ? :-)
Fichiers joints
hikago001-Shift-JIS.sgf
(1.12Kio)Téléchargé 720 fois
hikago001-UTF-8.sgf
(1.14Kio)Téléchargé 936 fois
C'est tout ce qui restait comme pseudo?

Avatar du membre
igotoy
Messages :275
Enregistré le :jeu. 18 févr. 2010 17:11
Club :38Gr
Niveau :5k
Pseudo KGS/IGS :igotoy
Localisation :Grenoble
Contact :

Re: A propos de l'encodage des fichiers sgf

Message par igotoy » lun. 15 oct. 2012 15:42

C'est bon à savoir, merci !
Dans la vie j'ai deux passions : mon pays et Bruce Lee !

Verrouillé