Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Programmation > Langage C++ > [QT] acent + fonction tr > Lecture du sujet

[QT] acent + fonction tr

Vous devez être inscrit pour pouvoir poster des messages

RésoluLe problème de ce sujet a été résolu

Page : 1 
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : 1 
Hors ligne Jérémie Belpois # Posté le 12/07/2008 à 16:57:19
On t'auras XANA
Avatar
Groupe : Membres
Bonjour,

Dans mon programme j'écris des messages avec des caractères accentués.
Comment faire pour pouvoir à la fois utilisé QString::fromUtf8 et en même temps la fonction tr permettant par la suite la traduction ?

Car tous les deux demandant un const char*, impossible d'aller l'un puis l'autre après.

Merci d'avance.
 
Hors ligne mcarton # Posté le 12/07/2008 à 20:37:14
Groupe : Membres
Contrairement à la console de windows, Qt affiche correctement les accents car il gère nativement l'utf8, la chaine"à partir de zéro" affichera "à partir de zéro".

Mais pour ton problème :QString trUtf8 ( const char * sourceText, const char * comment = 0, int n = -1 ) devrait marcher.
Faut lire la doc !!
Hors ligne Jérémie Belpois # Posté le 12/07/2008 à 20:41:06
On t'auras XANA
Avatar
Groupe : Membres
Je viens de tester il me dit que la fonction existe pas et effectivement dans la doc elle n'apparait pas.
Pour ce qui est d'afficher correctement justement non, il m'affiche des caractères bizarre pourtant je code en UTF-8.
 
Hors ligne TheDead Master # Posté le 13/07/2008 à 00:21:56
4 8 15 16 23 42
Avatar
Groupe : Membres
Citation : Jérémie Belpois
Je viens de tester il me dit que la fonction existe pas et effectivement dans la doc elle n'apparait pas.


Ha bon ?

Je n'ai plus internet depuis septembre 2008 pour une durée indéterminée.

Comité de lutte contre le langage sms et les fautes volontaires sur Internet.
 
Hors ligne BoudBoulMan # Posté le 13/07/2008 à 09:21:16
Saucisse transgénique
Avatar
Groupe : Membres
Citation : mcarton
Contrairement à la console de windows, Qt affiche correctement les accents car il gère nativement l'utf8, la chaine"à partir de zéro" affichera "à partir de zéro".

Non, par défaut, Qt considère les chaînes constantes comme étant écrite en latin-1 (iso-8859-1 je pense):
Citation : Doc QString
One way to initialize a QString is simply to pass a const char * to its constructor. For example, the following code creates a QString of size 5 containing the data "Hello":

Code : C++
1
QString str = "Hello";


QString converts the const char * data into Unicode using the fromAscii() function. By default, fromAscii() treats character above 128 as Latin-1 characters, but this can be changed by calling QTextCodec::setCodecForCStrings().

Ils te donnent la solution dans le doc, donc faut faire
Code : C++
1
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));

dans ton main pour qu'il considère toutes tes chaînes en utf-8.

Une autre solution c'est d'écrire tes codes sources en iso-8859-1 :p
Hors ligne Jérémie Belpois # Posté le 13/07/2008 à 10:28:57
On t'auras XANA
Avatar
Groupe : Membres
ok, merci de l'infos BoudBoulMan.
 
Hors ligne gripsou # Posté le 13/07/2008 à 11:03:19
Linux, à la VI, à la MORE
Avatar
Groupe : Membres
UTF-8 POWAAAAAAAAAAA, faut penser portabilité et ça passe aussi par l'encodage des caractère. Sous linux ça passe pas le iso-8859-1.

Mon Site/Blog de G33k!
kami, kami, Kami, Kami, KAMI, KAMI

http://onigami-sama.labrute.fr
 
Hors ligne BoudBoulMan # Posté le 13/07/2008 à 11:11:33
Saucisse transgénique
Avatar
Groupe : Membres
Citation : darthmower
Sous linux ça passe pas le iso-8859-1.

Tu pourrais dire pourquoi?
Je suis sous Linux et j'ai jamais eu de problème à ce niveau-là...
Édité le 13/07/2008 à 11:13:38 par BoudBoulMan
Hors ligne Jérémie Belpois # Posté le 13/07/2008 à 11:44:24
On t'auras XANA
Avatar
Groupe : Membres
Suivant les distributions linux et les versions ont peut configurer le système pour qu'il soit en ISO-8859-1 etc.

Par exemple, jusqu'à la version 5.10 de Ubuntu, ont pouvait configurer le système en ISO-8859-1, par défaut c'était d'ailleur l'encodage.
Depuis la 6.06 LTS de Ubuntu, on ne peut plus c'est par défaut en UTF-8 et l'utilitaire de configuration ne configure plus il ne fait que regarder si le système d'encodage est à jour sinon il régénère les fichiers.
 
Hors ligne BoudBoulMan # Posté le 13/07/2008 à 12:13:47
Saucisse transgénique
Avatar
Groupe : Membres
Mais de toute façon, y a aucun problème, même si ton système est en utf-8, tu peux créer des fichiers en iso-8859-1 et compiler, c'est ce que je faisais pour que Qt affiche correctement les accents bien que mon système soit configuré en utf-8.
Hors ligne raphamil # Posté le 14/07/2008 à 11:35:00
Avatar
Groupe : Membres
Ne pas oublier QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); :

Code : C++
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <QLocale>
#include <QTranslator>
#include <QLibraryInfo>
#include <QTextCodec>

#define DIR_APP "" //"ZeroClassGenerator.app/" //Pour le Mac
#define DIR_TRADUC QString(DIR_APP) + "traductions/"

int main (int argc, char * argv[]) {
	QApplication app(argc, argv);

	QTranslator integre;
	QString locale = QLocale::system().name();
	integre.load(QString("qt_") + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
	app.installTranslator(&integre);

	QTranslator traductions;
	locale = locale.section('_', 0, 0);
	traductions.load(locale, DIR_TRADUC);
	app.installTranslator(&traductions);

	QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
	QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

 	return app.exec();
}




Code Lyoko POWAAAA !!!
Édité le 14/07/2008 à 11:48:39 par raphamil

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Hors ligne gripsou # Posté le 14/07/2008 à 11:52:02
Linux, à la VI, à la MORE
Avatar
Groupe : Membres
o_O Dommage raphamil tu as dérapé juste à la fin.

Mon Site/Blog de G33k!
kami, kami, Kami, Kami, KAMI, KAMI

http://onigami-sama.labrute.fr
 

Retour au forum "Langage C++" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 349 Zéros connectés | Requêtes SQL 7 requêtes | Temps de génération de la page : Total (SQL) 0.051s (0.0307s)