gpt4 book ai didi

c++ - 来自字符串的 Qt QString - 奇怪的字母

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:02 28 4
gpt4 key购买 nike

每当我尝试将 std::string 转换为包含此字母 ('ß') 的 QString 时,QString 将变成类似“Ô或其他一些非常奇怪的字母。怎么了?我使用了这段代码,它没有导致任何错误或警告!

std::string content = "Heißes Teil.";
ui->txtFind_lang->setText(QString::fromStdString(content));

std::string 这个字符没有问题。我什至毫无问题地将它写入文本文件。那我做错了什么?

最佳答案

您需要将编解码器设置为 UTF-8:

QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

默认情况下,Qt 使用有限的 Latin-1 编码。通过添加此代码,您可以将默认编码设置为 UTF-8,这样您就可以使用更多字符。

关于c++ - 来自字符串的 Qt QString - 奇怪的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15579336/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com