QtxtCodec :: setCodecForCStrings在Qt5中为GONE

use*_*221 8 unicode qt5

我项目中显示的所有文字都是希腊语.我没有使用tr(),只是直接使用希腊字符.对于我使用的正确编码:

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("ISO 8859-7"));//for Greek
Run Code Online (Sandbox Code Playgroud)

Qt5拿走setCodecForCStrings了,所有的字符都显示为"???????".有解决方法吗?

请注意这是一个很大的项目,我想避免在程序中为每个字符串使用代码.

use*_*221 5

谢谢Esailija

因此,使用UTF-8编码保存所有文件解决了这个问题.

如果您正在使用Qt Creator中,默认的编码改为UTF-8:
首选项- >文本编辑器- >默认编码...选择UTF-8
然后对现有的文件去编辑- >选择编码并将其更改为UTF- 8

对于想要了解更多细节的人来说,请访问http://www.macieira.org/blog/2012/05/source-code-must-be-utf-8-and-qstring-wants-it/