Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: Jlppc le Mai 20, 2017, 09:24:59 pm

Titre: Problème affichage des accents d'un string lu depuis un fichier (Résolu)
Posté par: Jlppc le Mai 20, 2017, 09:24:59 pm
Bonjour,
J'ai essayé de trouver un sujet qui correspond a mes besoins, mais n'en trouvant pas, je poste le mien. Désolé d'avance si ce problème a déjà été résolu dans un autre sujet.
Je suis actuellement en train de développer un jeu, et, pour pouvoir gérer plusieurs langues, j'ai stocké mes chaînes de caractères dans un fichier texte que je lis ensuite pour pouvoir afficher le texte dans le jeu. Le problème, c'est qu'a la place des accents se trouve un rectangle. J'ai essayé de changer l'encodage du fichier, d'utiliser l'objet sf::String, rien n'y fait, pas d'accents. Voici un code représentant mon problème :
        ifstream file("strings.txt");
        std::string read;
       
        sf::Text txt;

        getline(file, read);
        sf::String str(read);
       
        txt.setString(str);
        fen.draw(txt);//fen est un objet sf::RenderWindow initialisé avant
        fen.display();
 
Je n'ai pas mis tout le code, ce serait bien sur trop long, mais j'estime avoir mis l'essentiel. Si il vous manque des informations, ou si vous pensez que j'ai oublié quelque chose (ce qui est fort possible), n'hésitez pas a me le demander.
Si vous avez besoin de quelques informations supplémentaires, je code avec Code::blocks en utilisant gcc 5.4.0 avec sfml 2.3, sous Linux Mint 18, et je suis débutant sur sfml.

Merci d'avance pour vos réponses!
Titre: Re: Problème affichage des accents d'un string lu depuis un fichier
Posté par: Laurent le Mai 20, 2017, 09:42:51 pm
Ici à aucun moment tu n'indiques d'encodage, donc tu fais confiance à la valeur par défaut des divers encodages qui interviennent dans cette opération. Et c'est mal ;D

Le plus simple est d'expliciter les encodages pour éviter les surprises. Par exemple, enregistre ton fichier en UTF-8 et utilise sf::String::fromUtf8.

Ensuite, autre problème potentiel, et qui est probable vu que tu as des carrés et non des caractères non-voulus, assure-toi bien que ta police de caractères définit les glyphes que tu veux lui faire afficher.
Titre: Re: Problème affichage des accents d'un string lu depuis un fichier
Posté par: Jlppc le Mai 21, 2017, 05:56:28 pm
Bonjour, merci de m'avoir répondu, et en effet, en utilisant fromUtf8, ça marche!

Merci de votre réponse!