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



Recherche avancée
Statistiques
Membres inscrits :668

Membres en ligne : 0
Invités en ligne : 8
Pub hébergeur
Pourquoi cette pub ?

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» les lettre accentué dans wxwidget
Conversation (Résolue) : les lettre accentué dans wxwidget
19-07-2011 07:39:50  les lettre accentué dans wxwidget #1
sajaris (Membre)
Inscrit le : 23-11-2010
Messages: 47
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,

J'utilisait wxwidget 2.8.8 pour mes développements. Ensuite j'ai téléchargé avant hier la version 2.9 et j'ai compilé comme pour la version 8:
MONOLITHIC=1 SHARED=1 UNICODE=1 USE_OPENGL=1 BUILD=release

Tous s'est bie npassé, quand je recompile mes projet, a part des petits trucs. MAis ce que j'a iconstaté et je comprend pas et cela est mon probleme ce sont les caractère accentué qui s'affichait tres bien et la c'est compliqué, ca s'affiche bizarrement les é à è etc...

je les affichait avec en utilisant _("")

Que dois je faire?
19-07-2011 08:26:55  Re: les lettre accentué dans wxwidget #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1191
Snippets: 23
Tutoriels: 6
Site web
Hors ligne
Salut.

Je suppose que tu n'utilisais pas UNICODE avec la version 2.8

En fait, si tu utilises UNICODE, il faut que tes fichiers sources soient encodés en UTF-8.

Je ne sais pas quel IDE tu utilises, mais il y a généralement une commande permettant de modifier l'encodage d'un (ou plusieurs) fichiers sources.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
19-07-2011 11:12:26  Re: les lettre accentué dans wxwidget #3
sajaris (Membre)
Inscrit le : 23-11-2010
Messages: 47
Snippets: 0
Tutoriels: 0
Hors ligne
salut,

et pourtant j'utilisais aussi UNICODE et mes fichiers étaient codé UTF-8 comme tu l'a dit.

Cette fois pareil et j'ai des probleme.
20-07-2011 10:26:53  Re: les lettre accentué dans wxwidget #4
Harrys (Nouveau membre)
Inscrit le : 06-01-2011
Messages: 8
Snippets: 0
Tutoriels: 0
Hors ligne
J'ai rencontré le même problème pour l’internationalisation d'un projet.
Toutes les chaînes traduites qui à l'origine comportaient des accents restent dans la langue d'origine. A première vue, il s'agit d'un problème d'encodage.
20-07-2011 13:26:19  Re: les lettre accentué dans wxwidget #5
sajaris (Membre)
Inscrit le : 23-11-2010
Messages: 47
Snippets: 0
Tutoriels: 0
Hors ligne
et comment tu t'y est pris?
20-07-2011 14:31:40  Re: les lettre accentué dans wxwidget #6
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1191
Snippets: 23
Tutoriels: 6
Site web
Hors ligne
Salut.
Je viens de refaire un petit test : le problème vient apparemment du passage à wxWidgets-2.9.x

Si tu utilises la macro _("...") pour tes chaines de caractères, il faut que ton fichier soit encodé en ANSI.
Si au contraire tu utilises la macro _T("..."), il faut que l'encodage soit UTF-8.

Ne me demande pas pourquoi, je n'en sais rien.

Mais à mon avis, si tu as des caractères accentués dans ton application, c'est qu'elle est en français et que tu n'as pas l'intention de la traduire dans d'autres langues.
Tu peux donc sans hésiter remplacer les _("...") par des _T("..."), ainsi, tu garderas la compatibilité avec wx-2.8 et wx-2.9

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
20-07-2011 19:57:39  Re: les lettre accentué dans wxwidget #7
sajaris (Membre)
Inscrit le : 23-11-2010
Messages: 47
Snippets: 0
Tutoriels: 0
Hors ligne
ca marche en effet ! mais je mettrais a jour le logiciel pour qu'il n'utilise pas par défaut les accents.
22-07-2011 15:23:08  Re: les lettre accentué dans wxwidget #8
Harrys (Nouveau membre)
Inscrit le : 06-01-2011
Messages: 8
Snippets: 0
Tutoriels: 0
Hors ligne
Pour répondre à ta question, j'ai pas encore trouvé de solution.
Je pense qu'il faut que je convertisse mes fichiers encodés en cp1252 vers de l'UTF8.
Problème, je dois avoir environ 50 classes donc le faire tout manuellement avec Notepad++, je pense que je vais vite déchanter.
Je suis justement en cours de recherche de solution.

Si vous avez une solution, je suis preneur.

Edit: Je viens de tester en effectuant la conversion d'un unique fichier de mon projet. La compilation ne fonctionne pas.
3 raisons envisageables:
- la compilation de wxWidgets sans l'option --enable-unicode (je ne l'ai pas mise)
- Cygwin
- les fichiers ne sont pas tous avec le même encodage (je n'y crois pas du tout)

Dernière modification par Harrys (22-07-2011 16:38:49)

22-07-2011 16:22:30  Re: les lettre accentué dans wxwidget #9
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1191
Snippets: 23
Tutoriels: 6
Site web
Hors ligne
Salut.

J'ai bien une petite combine, mais c'est de la bricole en ligne de commande :

Tout d'abord, téléchargee iconv et ses dépendances :
libIconv-bin et libIconv-dep.
Dans ces deux archives, tu trouveras un dossier "bin" dans lequel se trouovent des dll et un exécutable.

Places ces fichiers dans un dossier termporaire : il doit y en avoir 4 :
- iconv.exe
- libcharset1.dll
- libiconv2.dll
- libintl3.dll

N'oublies pas de faire une sauvegarde de tes fichiers sources avant de faire la manip.

Crées, dans ce dossier, un fichier batch (par exemple, "translate.bat") et places le code ci-dessous à l'intérieur (n'oublies pas d'adapter le chemin de base contenant les fichiers à convertir).

Code:

@echo off
set ROOT_DIR=C:\Dev\MkvTools
 
for /R %ROOT_DIR% %%f IN (*.cpp) DO (
echo %%f
iconv.exe -f CP1252 -t UTF-8 %%f > %%f1
del %%f
move %%f1 %%f
)
 
for /R %ROOT_DIR% %%f IN (*.h) DO (
echo %%f
iconv.exe -f CP1252 -t UTF-8 %%f > %%f1
del %%f
move %%f1 %%f
)
 
pause


Exécutes-le (double-clic) et normalement, tous les fichiers ".cpp" et ".h" ont du être convertis en UTF-8

Bonne chance, et @+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
22-07-2011 16:46:34  Re: les lettre accentué dans wxwidget #10
Harrys (Nouveau membre)
Inscrit le : 06-01-2011
Messages: 8
Snippets: 0
Tutoriels: 0
Hors ligne
Merci, je vais essayer ça quand j'aurais résolu ce problème de prise en charge de l'UTF-8.

Edit: Après réflexion, c'est moi qui avait un problème.
L'encodage de mon catalogue était en UTF-8 alors que mon code source était en iso.

Sans commentaires ...

Dernière modification par Harrys (22-07-2011 18:09:44)

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» les lettre accentué dans wxwidget