美帝那边的一个 donet 项目,打开后发现一段string里面各种乱码。一通折腾后发现是编码格式问题。这段string所在的类文件保存格式为ANSI,而不是VS默认的UTF-8。
  ANSI编码电脑是认识的,问题是,ANSI编码有很多种。不同的国家和地区制定了不同的标准,在大陆是GB2312,在台湾是BIG5,在日本又成了JIS,这些都是互不兼容的。电脑遇到这种格式的文件,会根据系统当前语言环境选择对应的版本解析。这边我的电脑的语言环境是简体中文,电脑看到这ANSI编码,根据当前系统语言认为是GB2312,于是很欢乐的解析了。然而此ANSI编码非彼ANSI编码,驴头不对马嘴,自然就乱码了。
  问题发现了,那么怎么解决那?
  既然是编码问题,直接改变编码就是了。这个简单,记事本就可以。文件打开另存为,选择UTF-8编码。OK!
  且慢,这个果断是不能OK的。因为当前另存为其他编码的过程是一个转码的过程。电脑是要把本地环境下ANSI,也就是GB2312里"外星人入侵地球"的编码转化成UTF-8里"外星人入侵地球"的编码。问题是,这段编码在原来的环境里用的不是GB2312,是其他编码阿。说的也不是"外星人入侵地球"而是"今天天气哈哈哈"。就好比电脑把日语翻译成中文时翻译错了,现在你接着把这中文继续翻译成英语,他不可能对。
  恩,问题是原来这编码是啥那? 不知道啊。不过,项目不是美帝那边过来的嘛,那就换成美帝的语言环境试试呗。控制面板-区域和语言-管理-更改系统区域设置-选择英语(美国)-重启。然后重新打开项目,一切ok,string里的错误都没有了。好了,文件打开另存为,选择UTF-8。然后将语言环境重新设置回中文,重启,依然ok,问题解决。

ANSI编码导致的乱码的更多相关文章

  1. MySQL对JSON类型UTF-8编码导致中文乱码探讨

    前言 继上文发表之后,结合评论意见并亲自验证最终发现是编码的问题,但是对于字符编码还是有点不解,于是乎,有了本文,我们来学习字符编码,在学习的过程中,我发现对于MySQL中JSON类型的编码导致数据中 ...

  2. 关于SpringMVC中text/plain的编码导致的乱码问题解决方法

    有老铁的项目出现个问题,就是用SpringMVC给前台返回一句话,是String类型的,然后前台接收到是乱码. 然后以为是简单的response的编码问题,就在方法体中开始给response设置编码, ...

  3. jmeter随笔(9)--有两种编码风格,导致数据乱码

    问题:在一个网站,有两种编码风格,导致数据乱码 解决办法: 1.首先设置jmeter的配置文件 2.针对要求是utf-8格式的这样的请求,做单独的编码处理(beanshell处理) 3.运行,在htm ...

  4. js ajax post提交 ie和火狐、谷歌提交的编码不一致,导致中文乱码

    今天遇到一个问题找了很久发现: 使用js ajax post提交 ie和火狐.谷歌提交的编码不一致,导致中文乱码 //http://www.cnblogs.com/QGC88 $.ajax({ url ...

  5. 解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG

    解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-6 ...

  6. 关于windows系统里locale、code page、ANSI编码的问题

    最近把公司代码库里的代码同步下来之后编译了下,竟然出问题.问下同事说代码库肯定没问题,而我啥也没改,那到底那里出问题了呢? VS2018报的错误是:error RC2001: newline in c ...

  7. ASP 编码转换(乱码问题解决)

    ASP 编码转换(乱码问题解决) 输出前先调用Conversion函数进行编码转换,可以解决乱码问题. 注,“&参数&”为ASP的连接符,这里面很多是直接调用的数据库表字段,实际使用请 ...

  8. 转 :Vim文件编码识别与乱码处理

    Vim文件编码识别与乱码处理   在 Vim 中,有四个与编码有关的选项,它们是:fileencodings.fileencoding.encoding 和 termencoding.在实际使用中,任 ...

  9. VIM 文件编码识别与乱码处理(转载)

    在 Vim 中,有四个与编码有关的选项,它们是:fileencodings.fileencoding.encoding 和 termencoding.在实际使用中,任何一个选项出现错误,都会导致出现乱 ...

随机推荐

  1. 原生JS获取DOM 节点到浏览器顶部的距离或者左侧的距离

    关于js获取dom 节点到浏览器顶/左部的距离,Jquery里面有封装好的offset().top/offset().left,只到父级的顶/左部距离position().top/position() ...

  2. Hadoop 2.7.4 HDFS+YRAN HA部署

    实验环境 主机名称 IP地址 角色 统一安装目录 统一安装用户 sht-sgmhadoopnn-01 172.16.101.55 namenode,resourcemanager /usr/local ...

  3. Docker容器中找不到vim命令

    docker容器中,有的并未安装vi和vim,输入命令vim,会提示vim: command not found(如下图).此时我们就要安装vi命令 执行命令:apt-get update apt-g ...

  4. Linux .vimrc 设置项

    Linux 下,.vimrc 有两个.一个是全局使用的(/etc/vimrc),另一个是个人使用的(~/.vimrc). 大部分的情况下,我们只需要设置自己目录下的.vimrc 即可. # vim ~ ...

  5. lumion的基本操作,天气系统,景观系统。5.25

    1.打开场景,按住鼠标右键可以选择方向. 2.向前移动:W,向后移动S,亦可以用鼠标滚轮向前或者向后滚.向左A向右D, 3.Q提升视角,E下降视角. 4.鼠标滚轮点下去,进行提升和下降视角.左右移动, ...

  6. 【Sql】经典sql语句

    参考网页:https://www.cnblogs.com/qixuejia/p/3637735.html 1./**查询课程1比课程2,成绩高的学生学号1.分析这些元素都在一个表里,但是上下两条记录, ...

  7. Awesome Tools

    Awesome R: https://awesome-r.com/ (Chinese translation: http://www.ppvke.com/Blog/archives/40981) Aw ...

  8. A Network-based End-to-End Trainable Task-oriented Dialogue System

    abstract 让机器去和人类自然的交谈是具有挑战性的.最近的任务型对话系统需要创造几个部分并且通常这需要大量的人工干预,或者需要标注数据去解决各部分训练的问题.在这里我们提出了一种端到端的任务型对 ...

  9. nginx 504 Gateway Time-out

    #设定http服务器 http { include mime.types; #文件扩展名与文件类型映射表 default_type application/octet-stream; #默认文件类型 ...

  10. 微信小程序用setData给数组对象赋值

    假如现在要给数组marker中的对象属性赋值 data: { marker: [ { latitude: ' ' , longitude: ' ' } ] },   在方法中的写法为   fetchJ ...