Fichier de language avec caratères Chinois

Résolu
marcootz Messages postés 24 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 10 janvier 2008 - 19 déc. 2006 à 19:21
marcootz Messages postés 24 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 10 janvier 2008 - 11 janv. 2007 à 18:24
Salut,


Voici mon souci. Je crée une application sous Borland 6 et je vais
chercher tout mes textes de Label dans un fichier language.lng que
j'ouvre de la sorte :
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

TIniFile *FichierIni = new TIniFile(cheminFichier);
FichierIni->ReadString(nomSection, nomClé, valeurDéfaut);

<!-- END TEMPLATE: bbcode_code -->

Cela marchais très bien jusqu'a ce que j'ai besoin d'utiliser des
caractères de chinois. Les caractères chinois sont remplacé par des
'???' dans Borland. Mon fichier lng est en format UTF-8.


J'ai essayé d'utiliser ce que j'ai trouvé sur UNICODE mais rien n'y fait.


Quelqu'un connait t'il une méthode pour lire et afficher des caractères
chinois à partir d'un fichier ? Quel encodage utiliser à la place de
"ISO-8859-1" ?


Merci d'avance


Marcootz

5 réponses

marcootz Messages postés 24 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 10 janvier 2008
11 janv. 2007 à 18:24
Salut,

J'ai trouvé une solution à mon problème :

J'utilise un fichier XML encodé en UTF-8 pour stocké mes mots en chinois
Ex :
<langue>
<mot1>xxxxxxx</mot1>
<mot2>xxxxxxxx</mot2>
</langue>

Ensuite je lis mon fichier XML avec un composant TXMLDocument que j'ai du rajouté a Builder (Palette Internet) en dl sur Internet. Je stocke mes chaines dans des variables de type WideString.
Enfin, j'affiche mon chinois dans des labels ou des edi spéciaux qui font partit du composant TnTware ou TnTedit dispo sur le net.
Voila, j'espère que ca pourra aider.
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
20 déc. 2006 à 00:47
Il faut que ta méthode ReadString gère elle aussi l'unicode
En Win32, cela se fait en définissant la UNICODE au début du programme, je ne sais pas comment ca marche avec C++ Builder
_____________________________________
Un éditeur de ressources gratuit pour Windows
0
marcootz Messages postés 24 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 10 janvier 2008
20 déc. 2006 à 09:16
J'ai portant bien défini UNICODE avant mes includes :
#define UNICODE
#define _UNICODE
Et je recupére mes infos comme ca :
AnsiString txt1 = FichierIni->ReadString("page1", "1", "erreur");
0
marcootz Messages postés 24 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 10 janvier 2008
20 déc. 2006 à 09:21
J'ai aussi essayé de faire ça avec un fichier XML :
TiXmlDocument doc("C:/.../lang.xml");

J'ai mis mon "label" en charset "GB2312_CHARSET". J'obtient bien des caractères chinois mais ce ne sont pas les mêmes que ceux que je dois obtenir !!! Je précise que mon fichier language est en format UTF-8.

Si quelqu'un à un début de solution je suis preneur. Merci !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marcootz Messages postés 24 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 10 janvier 2008
22 déc. 2006 à 10:11
Salut. Un petit up !
Si quelqu'un a la réponse à mon problème, ou une solution pour faire une application multilangue en chinois en passant par des fichiers languages.
Merci !
0
Rejoignez-nous