Qt5全局使用Latin1而不是Utf8

时间:2015-01-28 15:40:48

标签: c++ qt utf-8

我将我的项目从Qt4移植到Qt5,现在出现以下问题。

从Qt5开始,构造函数QString(const char*)假定传递的字符串是Utf8编码的。这会破坏我的代码,因为QStrings通常会转换为char*toLatin1() - 对于第三方库api),而只会转换为QString(const char*)而不是fromLatin1()

使用预编译器标记QT_NO_CAST_FROM_ASCIIQT_NO_CAST_TO_ASCII,可以发现隐式转换。但我不想重构我支持Utf8的庞大项目,我对Latin1编码完全没问题。

如何在Qt4中让QString构造函数像以前一样工作?是否有Qt4中可用的QTextCodec::setCodecForCStrings替代品?

0 个答案:

没有答案