Problème avec caractères chinois
J'extrais d'un fichier plusieurs zone de texte via des head et tail (seule façon que j'ai trouvé pour garder les caractères spéciaux et savoir où je me trouve dans le fichier)
Voici un exemple du fichier en hexa :
Code:
52 00 6f 00 62 00 65 00 20 00 64 00 65 00 20 00 66 00 e9 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 be ab c1 e9 c8 b9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4d 6f 64 65 6c 73 5c 4d 61 74 74 65 72 73 5c ce ef c6 b7 5c ca b1 d7 b0 b5 f4 c2 e4 5c ca b1 d7 b0 b5 f4 c2 e4 2e 65 63 6d 00 00 00 00 00 00 00
Voici le code utilisé (rien de sorcier...)
Code:
1 2 3 4 5 6
|
head -c64 elements.txt > fichier
tail -c+96 elements.txt > tmp
echo -n " " >> fichier
head -c48 tmp >> fichier
sed -i 's/\x00//g' fichier |
1ère partie en français le plus souvent (chaque lettre est séparée par le caractère hexa 00). Cela donne donc "Robe de fée" une fois le 00 enlevés.
Cela peux aussi être dans de rares cas en chinois (sans la séparation par les 00).
Dernière partie en chinois simplifié :
Models\Matters\物品\时装掉落\时装掉落.ecm
Ce que j'obtiens via mon script (je vois que c'est le codage ANSI qui a été choisi ...) :
Robe de fée Models\Matters\ÎïÆ·\ʱװµôÂä\ʱװµôÂä.ecm
Si je force la lecture dans mon éditeur de texte en chinois simplifié:
Robe de f閑 Models\Matters\物品\时装掉落\时装掉落.ecm
Il y a-t-il un moyen de forcer le codage pour avoir le résultat voulu (texte en français visible ainsi que le texte en chinois) ?
Voici ce que j'aimerais avoir:
Robe de fée Models\Matters\物品\时装掉落\时装掉落.ecm