Windows中文编码显示问题集锦

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

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

问题根源

    中文显示乱码的原因是控制台设置的编码格式,如果控制台设置的编码格式是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 风雨在途






     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1953777,如需转载请自行联系原作者

相关文章
|
Linux iOS开发 MacOS
CrossOver23中文永久免费版MacOS平台快速运行Windows软件
CrossOver是一款可以让Mac和Linux系统中正常运行Windows软件的应用程序。它不像虚拟机一样需要安装Windows系统之后才可以安装Windows的应用程序,这一方式给大多数用户带来了方便。通过CrossOver实现跨平台的文件复制粘贴,使Mac/Linux系统与Windows应用良好结合。CrossOver下载:http://t.csdn.cn/Ixdq6
3660 0
CrossOver23中文永久免费版MacOS平台快速运行Windows软件
|
编解码 Ubuntu 编译器
Qt开发笔记之编码x264码流并封装mp4(四):mp4v2库的介绍和windows平台编译
Qt开发笔记之编码x264码流并封装mp4(四):mp4v2库的介绍和windows平台编译
Qt开发笔记之编码x264码流并封装mp4(四):mp4v2库的介绍和windows平台编译
|
4月前
|
自然语言处理 Linux Windows
Cmder - 想让你的windows下 cmd 和 SecureCRT 操作 Linux 一样帅吗 附字符集编码 chcp 936、chcp 65001
Cmder - 想让你的windows下 cmd 和 SecureCRT 操作 Linux 一样帅吗 附字符集编码 chcp 936、chcp 65001
55 1
|
6月前
|
应用服务中间件 Windows
Windows下CMD和Tomcat设置编码为UTF-8
解决CMD和Tomcat中文乱码问题:通过修改注册表永久设置CMD编码为UTF-8,路径 `\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe`,修改CodePage为65001。Tomcat日志乱码时,在 `\HKEY_CURRENT_USER\Console` 下新建Tomcat项,添加DWORD值PageCode,值设为65001。
257 2
|
存储 自然语言处理 编译器
编码拓展:Windows链接库
编码拓展:Windows链接库
115 0
|
关系型数据库 MySQL Java
Mysql中文乱码问题-设置MySQL编码-windows
在实际开发中经常遇到JDBC连接数据库,存入或获取数据乱码的问题,主要原因是MySQL安装的时候的编码设置为设置为UTF-8,这里给出详细解决方案
|
关系型数据库 MySQL 数据库
MySQL:Windows环境下的编码问题和解决
MySQL:Windows环境下的编码问题和解决
82 0
|
Linux C语言 Windows
Qt开发笔记之编码x264码流并封装mp4(二):windows平台x264添加mp4支持,gpac库的介绍与编译
Qt开发笔记之编码x264码流并封装mp4(二):windows平台x264添加mp4支持,gpac库的介绍与编译
Qt开发笔记之编码x264码流并封装mp4(二):windows平台x264添加mp4支持,gpac库的介绍与编译
|
存储 编解码 Ubuntu
Qt开发笔记之编码x264码流并封装mp4(一):x264介绍、windows平台mingw32编译x264库
Qt开发笔记之编码x264码流并封装mp4(一):x264介绍、windows平台mingw32编译x264库
Qt开发笔记之编码x264码流并封装mp4(一):x264介绍、windows平台mingw32编译x264库
|
关系型数据库 MySQL 数据库
MySQL:Windows环境下的编码问题和解决
MySQL:Windows环境下的编码问题和解决
90 0