我们在项目中使用 Qt 4.6.3。我们有一个土耳其字符大小写转换问题。例如,我们有一个用户名“ismail”。如果我们想要用户名的大写版本,我们会得到“ISMAIL”,这在土耳其语中是错误的。它应该是“İSMAİL”。同样,如果我们有“İSMAİL”并且想要将大小写更改为小写,我们会得到“ısmaıl”,这在土耳其语中也是错误的。应该是“伊斯梅尔”
我们尝试了 UTF-8、ISO-8859-9 和 Windows-1254 编码(它们都支持土耳其语)。但他们都没有为我们工作。
有很好的链接可以解释这个问题。在链接 2 中,他们说问题已通过 QByteArray 解决,但没有给出代码示例。
任何帮助将不胜感激。
@fatih_k 下面是我所做的。
// I set this inside main.cpp
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("ISO-8859-9"));
QString userName = ui.txtUserName->text();
userName = userName.toLower();