Windows中文编码显示问题集锦-创新互联

1)控制台中文乱码 解决方案

茫崖网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联公司自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

问题根源

  中文显示乱码的原因是控制台设置的编码格式,如果控制台设置的编码格式是GBK,数据库的存储内容是UTF-8,当然无法正常显示

解决方案

  1)启动CMD,查看当前的字符集编码,使用指令chcp

Active code page:65001 :UTF-8编码

活动代码页:936 :GBK编码

注意:很多用户希望能够在控制台下输入中文,必须使用指令chcp 936,切换到GBK编码格式,才能够正常输入

  2)目前查看UTF-8编码的数据库文件,使用指令chcp 65001,切换到UTF-8编码字符集

  3)进入到sqlite.exe程序的目录,启动sqlite.exe,这个时候正常显示UTF-8数据库内容

  4)如果数据库内容是GBK编码,可以使用chcp 936。

2)VS调试:字符串中的字符无效

场景

网络发送过来的报文是utf-8编码的Json数据,其中保存有中文。使用Jsoncpp解析的时候单步调试获取到的变量,在获取包含中文变量的时候,查看std::string字符串变量,提示;字符串中的字符无效

解析

VS高版本新加的功能,如果字符串中包含有非打印字符,或者utf8编码,调试器自动显示:字符串中的字符无效。在这里被误导过,以为Jsoncpp无法正确解析utf-8编码的格式,其实Jsoncpp已经解析出内容,只是无法在这种情况下显示中文,必须是GBK编码才行

历程

std::string strName = root["name"].asString(); //name里面的中文字符:风雨在途

这个时候定位到strName,提示字符串中的字符无效

解决

将strName添加监视,在名称strName之后,添加,s8,就可以正常显示了

例子

名称           值

strName,s8 风雨在途

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

分享名称:Windows中文编码显示问题集锦-创新互联
网址分享:https://www.cdcxhl.com/article0/decoio.html

成都网站建设公司_创新互联,为您提供网页设计公司建站公司外贸建站响应式网站定制网站网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设