狂想曲 C++ 代码生成土耳其语字符问题

Rhapsody C++ code generation Turkish character problem

提问人:muratcan 提问时间:2/27/2023 最后编辑:muratcan 更新时间:3/1/2023 访问量:127

问:

我在 Rhapsody 中有一个类,我在其中执行数据库操作(添加、删除、更新)。我在应用程序界面中也有一个类,我在其中显示失败状态。在本类中,我将错误描述分配给 QString 类型成员变量。

当 C++ 代码由 Rhapsody 生成时;

当我为这个对象分配土耳其语字符时,当我查看我生成的代码的编码(通过记事本++)时,它显示为“在 ANSI 中编码”。 当我不给这个对象分配土耳其字符时,当我查看我生成的代码的编码(通过记事本++)时,它显示为“在没有 BOM 的情况下以 UTF-8 编码”。

下面是我在狂想曲方面写的伪代码。

void save(...) {
   Journaling temp;
   temp.mComment = QString::tr("türkçe");
}

下面是用记事本++打开的生成的伪代码。(以 ANSI 编码)

void save(...) {
   Journaling temp;
   temp.mComment = QString::tr("txFCrkxE7e");
}

下面是生成的伪代码,用 Qt.(UTF-8)

void save(...) {
   Journaling temp;
   temp.mComment = QString::tr("t�rk�e");
}

我不希望它在土耳其字符中表现得不同。

我是否有机会更改 Rhapsody 将创建的 C++ 代码的编码?或任何其他解决方案建议?

C++ 编码 UTF-8 ASCII 狂想曲

评论

1赞 JosefZ 2/27/2023
你面临一个 mojibake 案例(在 Python 中的例子,因为它的普遍可理解性):返回 .请编辑您的问题,以提供一个最小的可重复示例"türkçe".encode( 'utf-8').decode( 'cp1254')türkçe

答: 暂无答案