计算机无法识别ANSI编码文件里的中文导致乱码「建议收藏」

计算机无法识别ANSI编码文件里的中文导致乱码「建议收藏」问题现象最近远程协助一个用户的电脑(TeamView竟然连接不上,只好用QQ远程啦),原来ANSI编码的ini文件里的中文是正常的;用着用着,某一天就乱码了,无法识别ANSI编码文件里的中文。创建ANSI编码的ini配置文件,输入中文后保存会提示“…该文件有Unicode格式的字符,当文件保存为ANSI编码的文本时,该字符将丢失…”的问题。原因Unicode和ANSI是两种不同的字符编…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

问题现象
最近远程协助一个用户的电脑(TeamView竟然连接不上,只好用QQ远程啦),原来ANSI编码的ini文件里的中文是正常的;用着用着,某一天就乱码了,无法识别ANSI编码文件里的中文。创建ANSI编码的ini配置文件,输入中文后保存会提示“…该文件有Unicode格式的字符,当文件保存为ANSI编码的文本时,该字符将丢失…”的问题。
原因
Unicode和ANSI是两种不同的字符编码方式。Unicode(统一码、万国码、单一码)使用全16位元字元集来表示字符,而ANSI编码通常使用 0x80~0xFF 范围的 2 个字节(8位)来表示 1 个字符。对于字符来说ANSI以单字节存放英文字符,以双字节存放中文等字符,而Unicode下,英文和中文的字符都以双字节存放。有些Unicode字符无法用ANSI编码来表示,因此文件中含有Unicode格式的字符保存为ANSI编码的文本时,该Unicode字符将丢失或被错误表示。这样文本保存以后,再次打开将会发现里面少了一些内容或是会出现乱码。
系统设置
打开控制面板(Control Panel),打开 时钟、语言和区域 (Clock, Language and Region),点击 区域 (Region),选择格式(Format) 选项卡查看,格式 为中文(简体,中国)。选择管理(Administrative) 选项卡,他的的系统区域设置也已经是 中文(简体,中国)了。
没有必要点击“更改系统区域设置 (Change system locale…) ”按钮,更改重启。
不过在cmd.exe输入chcp命令查询到当前系统的活动代码页为437,竟然不是936。
(437 是美国英语的代码页,936是中文的代码页)。
解决办法
chcp 是 “change code page”(更改代码页)的缩写,可以输入:chcp /?命令查看当前的活动代码编号。
更改代码页最好直接找到C:\WINDOWS\system32\cmd.exe这个运行,而不是运行快捷方式。
输入:chcp 936 按回车键执行,更改代码页。可以显示中文了。
再输入:chcp 437 按回车键执行,原有的中文又会变成问号。
最后建议
程序默认的编码为系统编码,windows一般是ANSI编码。Windows 自带的记事本(Notepad.exe)会默认采用 ANSI 编码来处理文本文件,这也是由于大部分的文本文件都是用各国自己的编码标准写成的。这个ANSI 编码的具体编码方式,也会因上面所讲述的设置变化而有所改变。若想要摆脱不同的 ANSI 编码所产生的困扰(如在中文的系统上写的TXT文档要在日文的系统上打开经常会出现乱码),可以在保存文本文件时 选择采用 UTF-8 (单字节8位的Unicode编码)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192960.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • centos7怎么退出vi_centos7怎么退出vi

    centos7怎么退出vi_centos7怎么退出vi一、首先用vi命令打卡要编辑的文件:注意:vi命令的使用如下打开或新建文件,并将光标至于第一行首:[root@centos6/]#vi/etc/my.cnf打开文件,并将光标移至最后一行行首:[root@centos6/]#vi+/etc/my.cnf打开文件,并将光标置于第n行首:[root@centos6/]#vi+n/etc/my.cnf打开文件,并将光标置于第一个与pattern匹配的串处…

    2022年9月30日
    1
  • RabbitMQ和Kafka对比以及场景使用说明

    RabbitMQ和Kafka对比以及场景使用说明  我目前的项目最后使用的是RabbitMQ,这里依然是结合网上大神们的优秀博客,对kafka和rabbitmq进行简单的比对。最后附上参考博客。  1.架构模型  rabbitmq    RabbitMQ遵循AMQP协议,RabbitMQ的broker由Exchange,Binding,queue组成,其中exchange和binding组成了消息的路由键;客户端Producer通过…

    2022年10月14日
    3
  • 用Python做一个久坐提醒小助手

    用Python做一个久坐提醒小助手不论是日常的工作还是学习,现代年轻人在电脑屏幕时长数据能让人惊掉下巴,继而引发一系列身体不适的现象。小李也是久坐族中的一员,为了时刻提醒自己起来活动活动,我开发了一款基于PythonGUI编程的久坐提醒小助手。整体设计整体的构思类似于一个番茄时钟,提供一个倒计时功能并且在完成计时时发出警告。主要分为如下几个模块,一是时间选择模块,二是按钮模块,控制计时开始、暂停以及恢复,三是倒计时显示模块…

    2022年9月30日
    4
  • 搭建Socks5代理服务器[通俗易懂]

    搭建Socks5代理服务器[通俗易懂]搭建Socks5代理服务器本篇介绍在centos7上搭建一个socks5的代理服务器。1、安装依赖软件包[root@sg~]#yuminstallgccgcc-c++pam-developenldap-developenssl-devel-y2、下载源码、解压、编译、安装[root@sg~]#wget–no-check-certificatehttps://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8

    2022年6月19日
    327
  • torchvision 安装出现错误[通俗易懂]

    torchvision 安装出现错误[通俗易懂](base)C:\Users\pxsj_admin>pipinstalltorchvisionCollectingtorchvisionUsingcachedhttps://files.pythonhosted.org/packages/fb/01/03fd7e503c16b3dc262483e5555ad40974ab5da8b9879e164b56c1f4ef6f/tor…

    2022年6月24日
    44
  • wireshark抓包工具详细说明及操作使用_wireshark抓包结果分析

    wireshark抓包工具详细说明及操作使用_wireshark抓包结果分析多年之后,愿你有清风与烈酒,也有人是你的归途。打开Wireshark抓包工具开始抓包会看到如下展开内容:这里我是对wlan进行抓包,192.168.2.112是我当前wifi的ip地址。点击某个包,可以查看具体内容,差不多刚好对于五层协议:Frame:物理层的数据帧概况。EthernetII:数据链路层以太网帧头部信息。InternetProtocolVersion4:互联网层I

    2022年9月6日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号