gpt4 book ai didi

qt - QSettings 不能很好地处理 unicode

转载 作者:行者123 更新时间:2023-12-02 01:26:29 27 4
gpt4 key购买 nike

我正在使用 QSettings 将一些设置存储在 INI 文件中。但是,我的程序不是英文的,因此某些设置包含 Unicode 字符串。看起来Qt不是用utf8或utf16写入INI文件,而是用其他一些编码,字符串“Привет мир!” (俄语。“ Hello World !”)看起来像这样:

WindowTitle=\x41f\x440\x438\x432\x435\x442 \x43c\x438\x440!

我想手动编辑设置文件,但我不能像这样使用它。有没有办法强制 Qt 以 Unicode 保存?

最佳答案

检查setIniCodec QSettings的功能

Sets the codec for accessing INI files (including .conf files on Unix) to codec. The codec is used for decoding any data that is read from the INI file, and for encoding any data that is written to the file. By default, no codec is used, and non-ASCII characters are encoded using standard INI escape sequences.

所以你应该用你想要的编解码器来调用它,例如

QSettings settings;
settings.setIniCodec("UTF-8");

请注意,您必须在创建 QSettings 对象之后和访问任何数据之前立即调用它

关于qt - QSettings 不能很好地处理 unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8047321/

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