QT 奇数个中文保存到文件中会出现乱码问题

QT 奇数个中文会出现乱码问题

今天鼓捣pugixml(环境vs2015,win10 ),在添加属性值并保存时候出现中文乱码,以前没有注意到当中文是奇数个时候出现乱码,可能以前写的都是偶数个,记不清了。

便开始在网上搜索解决方法:例如用记事本打开保存,将中文的后面加一个英文的. ,以及添加QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));等系列解决方法都使用过,对于此问题都不适用。

中文后面加英文的. :出现的问题是最后一个中文以及那个英文的.会出现乱码

其他方法:全部是乱码

-------------------------------------------

代码如下:

QString str = "220kV仪宣4323线测控";
std::string ss = str.toStdString();
const char* s = ss.c_str();

firstIED.append_attribute("desc") = s;

doc.save_file(fileName, "\t", pugi::format_default, pugi::encoding_utf8);

------------------------------------------------


鼓捣了半天没有成果,一个低调的大神告诉我,在代码中添加如下:#pragma execution_character_set("utf-8")。

然后的然后,果然厉害,保存后中文不会出现乱码了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值