Qt程序,切换不同地区时出现乱码的解决方法

在Qt应用中遇到切换系统地区导致数字显示为乱码的问题,使用QLocale尝试适配不同地区语言格式时,仍会出现乱码。解决方法包括更改系统地区设置或转换数据格式为常规格式,以及使用Qstring::number或QString::arg进行数字到字符串的转换以避免系统格式影响。但目前尚未找到QLocale完美适配所有地区数字格式的方法,期待有经验的开发者分享解决方案。
摘要由CSDN通过智能技术生成

当切换系统地区时,数字出现乱码。

切换成中文香港测试

可以看到标准数字换成了既不是中文也不是英文的数字。

这时候运行Qt使用QLocal适配不同地区语言格式数字转换的字符串

在这里插入图片描述
qDebug()输出结果

结论

使用QLocale类适配不同语言和地区的数字格式会出现乱码问题,在标准数字类型不是常规数字类型时会出现乱码,
解决放法1:将地区更改,或者影响乱码的数据格式更改常规格式。
解决放法2:使用Qstring::number或者QString(%1).arg(0)方式数字转成字符串显示,这样会不受系统格式影响,无法适配其他地区。

使用QLocale类完美适配不同地区的数字格式还没有解决,希望有经验的大佬能在下方指点一二。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值