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 : 6
Pub hébergeur
Pourquoi cette pub ?

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» wxString et caractère spécial
Conversation (Résolue) : wxString et caractère spécial
14-09-2013 23:30:35  wxString et caractère spécial #1
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne
J'essaie de faire rentrer le caractère spécial dot dans une chaîne, sans succès :

Code:

 
wxString s = wxT("·");
 

me donne :

Code:

 
-------------- Clean: Release in p-09-12-16-45 (compiler: GNU GCC Compiler)---------------
 
Cleaned "p-09-12-16-45 - Release"
 
-------------- Build: Release in p-09-12-16-45 (compiler: GNU GCC Compiler)---------------
 
mingw32-g++.exe -Wall -pipe -mthreads -Wno-attributes -D__GNUWIN32__ -D__WXMSW__ -DwxUSE_UNICODE  -O2     -ID:\CPP\wxBook\wxWidgets-2.9.5\include -ID:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\mswu -ID:\CPP\id3lib\id3lib-3.8.3binaries\Release -ID:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\mswu -ID:\CPP\wxBook\wxWidgets-2.9.5\include -ID:\CPP\id3lib\id3lib-3.8.3\include -ID:\CPP\id3lib\id3lib-3.8.3binaries\Release -ID:\CPP\wxMusique\wxMusique\Sources -ID:\CPP\taglib-1.8\taglib-1.8 -ID:\CPP\taglib-1.8\taglib-1.8\taglib\toolkit -ID:\CPP\taglib-1.8\taglib-1.8\taglib -ID:\CPP\irrKlang-1.4.0b\irrKlang-1.4.0\include  -c D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp -o obj\Release\p_09_12_16_45Main.o
D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp: In member function 'void MyFrame::OnGo(wxCommandEvent&)':
D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:249:44: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp: In function 'void Process_File(wxString, wxString, wxString)':
D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:422:1: warning: unknown escape sequence: '\&' [enabled by default]
D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:423:1: error: converting to execution character set: Illegal byte sequence
D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:425:1: warning: unknown escape sequence: '\~' [enabled by default]
D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:423:12: warning: unused variable 's' [-Wunused-variable]
In file included from D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:31:0,
                 from D:\CPP\id3lib\id3lib-3.8.3\include/id3/tag.h:32,
                 from D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:50:
D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h: At global scope:
D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:542:20: warning: 'ID3_v1_genre_description' defined but not used [-Wunused-variable]
Process terminated with status 1 (0 minutes, 2 seconds)
1 errors, 5 warnings (0 minutes, 2 seconds)
 

Comment faire ?

'dot' ne marche pas, ni "\dot".

Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition).
GNU GCC version 4.7.1 -std=c++11 Make version 3.82.
wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
15-09-2013 01:25:59  Re: wxString et caractère spécial #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1365
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
A mon avis, l'erreur ne vient pas de cette ligne, mais d'une autre.
Ded a écrit:

Code:

......
p_09_12_16_45Main.cpp:423:1: error: converting to execution character set: Illegal byte sequence
Ligne 423 de ton fichier source "p_09_12_16_45Main.cpp" : tu dois avoir une chaîne de caractères avec des accents ou un truc de ce genre.
Ton fichier source est à mon avis encodé en Ansi (quand tu l'ouvres dans l'éditeur de Code::Blocks, il doit y avoir marqué, dans la barre d'état en bas, "WINDOW-1252".
C'est l'encodage de ton fichier.
Comme tu utilises des libs "Unicode", il faut que tes fichiers sources correspondent.
Donc, tu vas dans le menu "Edit", "File Encoding", "UTF-8", et immédiatement après, tu redonnes le focus à l'éditeur en cliquant dedans.
A ce moment là, dans la barre d'état, "WINDOWS-1252" doit être remplacé par "UTF-8".
Il faut enregistrer le fichier avant de lancer la compilation (CTRL-S).
Ensuite, ça devrait passer.

Le plus simple, si tu codes avec des chaîne directement en français (et donc, avec des caractères accentués), c'est de modifier les options de l'éditeur pour que tes fichiers soient automatiquement en UTF-8 : tu vas dans le menu "Settings", "Editor", tu sélectionnes "General settings" dans la partie de gauche, et à droite, tu actives l'onglet "Other settings".

Tu t'assures que "Use encoding when opening files" soit sur "UTF-8", et tu sélectionnes l'option "Use this encoding " => "As default encoding (bypassing C::B's auto-detection).

Normalement, de cette façon, tes fichiers seront automatiquement en UTF-8 quand il contiendront des caractères spéciaux.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» wxString et caractère spécial