【解决】VS2019各种乱码的情况

环境: Windows11 Visual studio 2019

中文输出出现乱码,分为2种情况

1、从.txt文件中读取输出出现乱码

  1. 结果如下图所示:

image-20230703113712950

  1. 分析出现乱码的原因

首先我们先得知道windows下的中文是GBK编码,VS2019也是GBK编码,所以在windows里编程中文最好就是用GBK编码。

中文乱码的本质就是编码不匹配的问题,就好像明明是utf-8的编码你用GBK去理解当然是无法匹配的。

image-20230703113830691

  1. 解决办法

我们知道原因就解决办法就显而易见了:将.txt文件utf-8的编码改为和VS2019一样的GBK编码

第一步:

image-20230703114000934

第二步:

image-20230703114213722

第三步:

image-20230703114303562

第四步:

重新运行代码,进行测试

image-20230703114343061

输出正确

2、从中文字符串中读取输出出现乱码

运行test.c文件出现乱码

char s[20] = "中文乱码问题";
	printf("%s\n", s);
  1. 打开test.c文件所在位置
  2. 用右键选择用文本文件方式打开
  3. 上面第一种操作相同,把编码改为GBK编码,请参考上面进行修改删除线格式

3、上传git时,gitee/github里出现乱码

解决这个问题,只需要下载一个插件并退出VS2019重新启动即可。

方法:打开扩展中的管理扩展,搜索:Force UTF-8(NO BOM)并进行安装即可。

image-20230703114813604

总结:

前两种问题的解决方式可以有效的防止乱码,但是我觉得每一次都要手动修改很麻烦,除了这个方法我暂时没有找到更有效的方式,或许以后尽量使用VScode进行操作吧。

在使用VS2019解析XML时出现乱码的问题,可以尝试以下几种方法解决: 1. 确保XML文件的编码格式正确,可以在创建Reader对象时指定编码格式,例如设置为utf-8:reader.setEncoding("utf-8")。这样可以防止乱码问题的发生。 2. 检查XML文件本身的编码格式,确保它与解析时指定的编码格式一致。可以使用文本编辑器打开XML文件,查看文件头部是否指定了正确的编码格式。 3. 如果XML文件的编码格式是GBK,而解析时指定的是utf-8,可以尝试将XML文件的编码格式转换为utf-8。可以使用文本编辑器打开XML文件,将其另存为utf-8格式。 4. 确保在解析XML之前,读取XML文件的内容时使用了正确的编码格式。可以在读取XML文件时指定编码格式,例如使用StreamReader类的构造函数:StreamReader reader = new StreamReader("文件路径", Encoding.UTF8)。 5. 如果以上方法都无效,可以尝试使用其他的XML解析库或工具进行解析,以确定是否是解析库本身的问题。 请根据具体情况选择适合的方法来解决乱码问题。<span class="em">1</span> #### 引用[.reference_title] - *1* [java 解析XML 乱码](https://blog.csdn.net/qq_43684538/article/details/103850322)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天都要进步呀~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值