marcootz
Messages postés24Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 janvier 2008
-
19 déc. 2006 à 19:21
marcootz
Messages postés24Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 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" ?
marcootz
Messages postés24Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 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.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 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
marcootz
Messages postés24Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 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");
marcootz
Messages postés24Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 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 !
Vous n’avez pas trouvé la réponse que vous recherchez ?
marcootz
Messages postés24Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 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 !