Я разработал простое приложение qt для Windows, чтобы протестировать китайский формат кодировки qt UTF-8:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QString strMessage = QString::fromLocal8Bit("我是UTF8编码的文件:");
qDebug() << strMessage;
return a.exec();
}
и мой формат кодировки файла main.cpp — UTF-8 без спецификации, но когда я запускаю приложение в Windows, строка печати приложения — «鎴戞槸UTF8缂栫爜鐨勬枃浠讹細», что, как я ожидаю, будет «我 是UTF8编码的文件:, кажется, что строка «我是UTF8编码的文件:» преобразована в формат кодировки GB2312, поэтому во время выполнения отображается неправильная строка «鎴戞槸UTF8缂栫爜鐨勬枃浠讹細» , и строка "我是UTF8编码的文件:" показывает правильную строку "我是UTF8编码的文件:'', когда приложение работает на macos, я не знаю почему? как разрешить строку "我是UTF8编码 的文件:" показывать прямо на платформе Windows, большое спасибо!
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));
мне подходит. 17.12.2019