wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 2

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» UTF-8 et accents
Conversation (Résolue) : UTF-8 et accents
10-06-2008 16:47:13  UTF-8 et accents #1
congelli501 (Membre)
Inscrit le : 08-06-2008
Messages: 46
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Bonjour,
J'utilise wxWidgets depuis certain temps mais j'ai un petit problème avec les accents.
J'utilise wxWidgets sous Windows et Linux/Ubuntu et mes sources et fichiers de langage sont codé en UTF-8.
Sous Linux (avec wxGTK), il n'y a aucun problèmes, mais sous Windows, les caractères de type accent sont affichés octet par octet.
J'ai trouver plusieurs moyen de "résoudre" le problème :
Utiliser la balise wxT et la fonction wxGetTranslation :

Code wxWidgets:

wxGetTranslation(wxT("Masse molaire moléculaire")

Mais dans ce cas la chaine n'est pas trouvé par poEdit.
Faire un ToUTF8() avec mes wxString, mais cela rend le code lourd et long.

N'y a-t-il pas un moyen de "demander à wxWidgets de prendre toute les chaines de caractères comme de l'UTF-8", comme c'est le cas, il me semble, avec Qt ?
N'y a-il pas, si non, un mixe entre _() et wxT() ?

Merci d'avance !

Mes programmes open sources !
On dit que la Grèce antique beaucoup d'influence sur notre culture... C'est vrai : la chute d'Athènes a eu lieu en 404 avant JC. Ca vous rappelle quelque chose ?
10-06-2008 17:05:55  Re: UTF-8 et accents #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut, et bienvenue.

congelli501:
sous Windows, les caractères de type accent sont affichés octet par octet
Qu'entends-tu par "octet pet octet" ?

Code wxWidgets:

wxGetTranslation(wxT("Masse molaire moléculaire")

Normalement, il suffit d'écrire

Code wxWidgets:

_("Masse molaire moléculaire")

Le wxGetTranslation n'est pas utile.

congelli501:
N'y a-t-il pas un moyen de "demander à wxWidgets de prendre toute les chaines de caractères comme de l'UTF-8", comme c'est le cas, il me semble, avec Qt ?
Il suffit de compiler en Unicode, et normalement, c'est bon.

congelli501:
N'y a-il pas, si non, un mixe entre _() et wxT() ?
Si justement :
- _("...") sert à spécifier les chaines de caractères qui devront être traduites par l'intermédiaire de wxLocale
- wxT("...") (ou plus simplement _T("...")) sert à spécifier les chaine qui au contraire n'ont pas besoin d'être traduites.

Il faut aussi t'assurer que le fichier ".mo" a bien été créé par poEdit (c'est dans ce fichier que les traductions sont récupérées, le fichier ".po" n'en n'est que le "code source").

Jetes un coup d'oeil à ce snippet qui traite de la traduction automatique avec wxWidgets.

congelli501:
Merci d'avance !
De rien

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
10-06-2008 17:32:11  Re: UTF-8 et accents #3
congelli501 (Membre)
Inscrit le : 08-06-2008
Messages: 46
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Xaviou:
Salut, et bienvenue.
Merci ;) !

Xaviou:
congelli501 a écrit:

    sous Windows, les caractères de type accent sont affichés octet par octet

Qu'entends-tu par "octet pet octet" ?
Je veux dire que mes "é" sont remplacé par des "é".

Lorsque je j'affiche _("é") ou _T("é"), cela me donne "é".
Par contre wxT("é") me donne "é", car cette macros "traduit" les cararactères en UTF-8. Malheureusement, cette macros ne gére pas la traduction...

Et oui, j'ai compilé wxWidgets en version unicode. C'est la version SVN que j'utilise.

Mes programmes open sources !
On dit que la Grèce antique beaucoup d'influence sur notre culture... C'est vrai : la chute d'Athènes a eu lieu en 404 avant JC. Ca vous rappelle quelque chose ?
10-06-2008 17:43:20  Re: UTF-8 et accents #4
xxltux (Membre)
Lieu: Montpellier
Inscrit le : 07-10-2007
Messages: 544
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Heu sous windows, t'auras tj des problemes avec la console je pense, mais normalement dans les fenetres il y  a aucun problémes

Itérer est humain, récurser est divin
10-06-2008 17:48:32  Re: UTF-8 et accents #5
congelli501 (Membre)
Inscrit le : 08-06-2008
Messages: 46
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Je pense que ça vient du fait que j'utilise des fichiers en UTF-8, mais je prèfére garder mes sources dans ce format, c'est plus pratique sous Linux, et c'est aussi plus standard.

Mes programmes open sources !
On dit que la Grèce antique beaucoup d'influence sur notre culture... C'est vrai : la chute d'Athènes a eu lieu en 404 avant JC. Ca vous rappelle quelque chose ?
10-06-2008 20:46:26  Re: UTF-8 et accents #6
xxltux (Membre)
Lieu: Montpellier
Inscrit le : 07-10-2007
Messages: 544
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Mais le probléme est ou? COnsole ou pas?

Itérer est humain, récurser est divin
10-06-2008 21:10:50  Re: UTF-8 et accents #7
congelli501 (Membre)
Inscrit le : 08-06-2008
Messages: 46
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Le problème touche toute les chaines de caractères contenant des accents affichées dans les titres de fenêtres, bouton, StaticText etc... Et ce seulement sous Windows.

Mes programmes open sources !
On dit que la Grèce antique beaucoup d'influence sur notre culture... C'est vrai : la chute d'Athènes a eu lieu en 404 avant JC. Ca vous rappelle quelque chose ?
10-06-2008 22:32:59  Re: UTF-8 et accents #8
xxltux (Membre)
Lieu: Montpellier
Inscrit le : 07-10-2007
Messages: 544
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Ok, tes libs sont pas unicode, mais en ANSI?

Itérer est humain, récurser est divin
11-06-2008 06:52:54  Re: UTF-8 et accents #9
congelli501 (Membre)
Inscrit le : 08-06-2008
Messages: 46
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Non, en unicode (il y a le "u" caractéristique à chaque fin des fichiers libs), de plus je n'ai même pas compilé la version ANSI.

Mes programmes open sources !
On dit que la Grèce antique beaucoup d'influence sur notre culture... C'est vrai : la chute d'Athènes a eu lieu en 404 avant JC. Ca vous rappelle quelque chose ?
11-06-2008 10:00:38  Re: UTF-8 et accents #10
xxltux (Membre)
Lieu: Montpellier
Inscrit le : 07-10-2007
Messages: 544
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Tu utilises MinGw ou VCC?

Itérer est humain, récurser est divin
11-06-2008 15:11:54  Re: UTF-8 et accents #11
congelli501 (Membre)
Inscrit le : 08-06-2008
Messages: 46
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
MinGw
----------
Et, une petite chose : Je peux utiliser les accents avec la balise wxT() _T(), mais pas avec la balise _().
Je ne peux donx pas traduire mon texte.
----------
Bonjour,
Je viens de trouver une solution :
Ecrire mon programme entiérement an anglais, sans accents, puis mettre le français dans un fichier de langue séparé. A ce moment là, je n'ai plus de problème avec les accents.

Dernière modification par congelli501 (13-06-2008 17:00:53)


Mes programmes open sources !
On dit que la Grèce antique beaucoup d'influence sur notre culture... C'est vrai : la chute d'Athènes a eu lieu en 404 avant JC. Ca vous rappelle quelque chose ?
04-07-2008 11:13:21  Re: UTF-8 et accents #12
guyothomas (Membre)
Inscrit le : 05-06-2008
Messages: 66
Snippets: 0
Tutoriels: 0
Hors ligne
Salut congelli,
J'arrive un peu tard, mais je propose quand même.
j'ai deux solutions à te proposer, elle ont marché chez moi.

1/ Dans tes headers tu marques

Code Cpp:

#define __ _T

et lorsque que tu as une chaine à traduire, tu mets

Code wxWidgets:

wxGetTranslation(__("ta chaîne"))

sans oublier de spécifier à poedit de prendre en compte le "préfixe" __.

2/ Sinon, sous VS, ça m'a déjà fait ça dans d'autres projets (sans wxWidgets) et j'avais résolu en spécifiant le jeu de caractères multioctet (MCBS) dans les propriétés générales du projet.
Je pense, sans certitude, que ce jeu de caractères est compatible unicode (je m'avance un peu quand même), vu que ça fonctionnait dans un prog sous VS.
04-07-2008 11:25:39  Re: UTF-8 et accents #13
congelli501 (Membre)
Inscrit le : 08-06-2008
Messages: 46
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Ok, merci de ta réponse.

Mes programmes open sources !
On dit que la Grèce antique beaucoup d'influence sur notre culture... C'est vrai : la chute d'Athènes a eu lieu en 404 avant JC. Ca vous rappelle quelque chose ?
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» UTF-8 et accents