千家信息网

Windows中文编码显示问题集锦

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,1)控制台中文乱码 解决方案问题根源中文显示乱码的原因是控制台设置的编码格式,如果控制台设置的编码格式是GBK,数据库的存储内容是UTF-8,当然无法正常显示解决方案1)启动CMD,查看当前的字符集编
千家信息网最后更新 2025年12月02日Windows中文编码显示问题集锦

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 风雨在途


字符 编码 中文 字符串 数据 UTF-8 内容 数据库 时候 格式 控制 变量 指令 控制台 乱码 名称 字符集 方案 解决方案 风雨 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 德州网络安全保卫支队高杨 数据库字段自增长设置 查询多个表的个数据库设计 提高软件开发效率应尽量采用 网络安全讲课题目 第五代无线网络技术 网络安全安全培训 串口服务器排名 如何搭建一个文件服务器raid 连接谷歌服务器出现问题怎么解决 车载电脑网络安全吗 陕西蜂窝互联网科技有限公司 通信网络安全生产检查项目表 正在查询离线服务器 软件开发找工作 中国网络技术是干什么的 遵化辅助网络技术售后服务 4个企业数据库安全最佳做法 代理服务器创建方法 河南放心软件开发 贵州交警处理违章数据库异常 网络安全知识教育手抄报 八年级 vs2013添加数据库 软件开发走什么会计科目 大专软件开发专业前景 常用的重庆联通服务器托管云空间 阿里域名邮箱服务器 中小学生与家庭的网络安全 小说保存到数据库 网络安全结构分析
0