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 : 1

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» conversion char[]->std::string->wxString en UTF8
Conversation (Résolue) : conversion char[]->std::string->wxString en UTF8
05-04-2019 17:45:36  conversion char[]->std::string->wxString en UTF8 #1
paul_c_weiss (Membre)
Inscrit le : 07-12-2012
Messages: 25
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour!
Je cherche à traiter un fichier xml codé en UTF-8 (il s'agit d'un fichier Excel .xlsx).
L'idée est de lire certaines informations (du texte UTF-8) sur ce fichier, puis de les stocker sous forme de std::string dans un <vector> de la STL. Enfin, il me faut convertir ces données
en wxString pour les afficher avec wxWidgets.

L'idée est de profiter de toutes les possibilités de la STL, et de n'utiliser wxString que là où c'est nécessaire....

Bon, j'ai donc crée un tableau:
char Slate[4096];
que je remplis avec des GetC() sur un stream.

Ensuite je crée un std::string comme suit;
string Res(Slate);
Puis je stocke ce string dans un <vector>.

Dans une deuxième phase, je lis ces std::string dans le <vector>, et je les transforme en wxString pour affichage:
wxString s(Res.c_str(),wxConvUTF8);

Et bien, ça ne marche pas: j'ai l'habituelle salade de caractères étranges au lieu des caractères  accentués.


Ce qui est étrange, c'est que si pour créer mon std::string à partir de l'array de char je fais:
wxString Resx(Slate, wxConvUTF8);
string Res;
Res = Resx.ToStdString();

Alors là, ça marche.

Mais ça me semble ridicule!

Auriez-vous mieux??

Paul
----------
OK!
Erreur (ridicule...) trouvée,
Problème résolu!

Merci tout de même!

Paul

Dernière modification par paul_c_weiss (07-04-2019 15:05:47)

08-04-2019 20:57:16  Re: conversion char[]->std::string->wxString en UTF8 #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Et du coup, c'était quoi, l'erreur (ridicule) ?

Ça pourra servir à d'autres au cas où...

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
09-04-2019 16:12:56  Re: conversion char[]->std::string->wxString en UTF8 #3
paul_c_weiss (Membre)
Inscrit le : 07-12-2012
Messages: 25
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,
Alors, ridicule, soyons-le jusqu' au bout...

J'avais une routine qui renvoyait un wxString que je venais d'obtenir à partir d'un std::string.
Mais voilà: erreur stupide. la routine renvoyait le std::string, et non le wxString....

Mais pas d'erreur de compilation: conversion par défaut - mais bien sûr sans tenir compte du paramètre UTF-8....

De toutes manières, je n'en ai pas fini avec UTF-8. J'ai maintenant une question plus sérieuse ... je crois... J'ouvre donc une nouvelle discussion!

Merci encore

Paul
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» conversion char[]->std::string->wxString en UTF8