2012-12-20 9 views
7

Alle angezeigten Text in meinem Projekt ist in Griechisch. Ich habe nicht tr(), nur griechische Zeichen direkt verwendet. Und für die richtige Codierung Ich war mit:QTextCodec :: setCodecForCStrings ist GONE in Qt5

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("ISO 8859-7"));//for Greek 

QT5 setCodecForCStrings wegnahm, und alle Zeichen werden als "???????" angezeigt. Gibt es eine Problemumgehung?

Bitte beachten Sie, dies ist ein großes Projekt, ich möchte vermeiden, Code für jede Zeichenfolge im Programm zu verwenden.

+2

Bevorzugen UTF-8, es alle Zeichen darstellen kann. "???????" ist ein Zeichen für eine verlustreiche Kodierungskonvertierung, wenn die Zielkodierung das zu konvertierende Zeichen nicht darstellen konnte. Sie können dies beheben, indem Sie UTF-8 verwenden, das alle Zeichen darstellen kann. – Esailija

Antwort

5

Danke Esailija

So Speichern alle meine Dateien mit UTF-8-Codierung das Problem gelöst.

Wenn Sie Qt Creator verwenden, die Standard-Kodierung UTF-8 ändern:
Einstellungen -> Texteditor -> Standard-Codierung ... wählen Sie UTF-8
Dann gehen Sie für die vorhandenen Dateien zu Bearbeiten-> wählen sie Encoding und ändern sie es in UTF-8

auch für alle, mehr Details wollen hier http://www.macieira.org/blog/2012/05/source-code-must-be-utf-8-and-qstring-wants-it/