ANSI编码导致的乱码
美帝那边的一个 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编码导致的乱码的更多相关文章
- MySQL对JSON类型UTF-8编码导致中文乱码探讨
前言 继上文发表之后,结合评论意见并亲自验证最终发现是编码的问题,但是对于字符编码还是有点不解,于是乎,有了本文,我们来学习字符编码,在学习的过程中,我发现对于MySQL中JSON类型的编码导致数据中 ...
- 关于SpringMVC中text/plain的编码导致的乱码问题解决方法
有老铁的项目出现个问题,就是用SpringMVC给前台返回一句话,是String类型的,然后前台接收到是乱码. 然后以为是简单的response的编码问题,就在方法体中开始给response设置编码, ...
- jmeter随笔(9)--有两种编码风格,导致数据乱码
问题:在一个网站,有两种编码风格,导致数据乱码 解决办法: 1.首先设置jmeter的配置文件 2.针对要求是utf-8格式的这样的请求,做单独的编码处理(beanshell处理) 3.运行,在htm ...
- js ajax post提交 ie和火狐、谷歌提交的编码不一致,导致中文乱码
今天遇到一个问题找了很久发现: 使用js ajax post提交 ie和火狐.谷歌提交的编码不一致,导致中文乱码 //http://www.cnblogs.com/QGC88 $.ajax({ url ...
- 解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG
解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-6 ...
- 关于windows系统里locale、code page、ANSI编码的问题
最近把公司代码库里的代码同步下来之后编译了下,竟然出问题.问下同事说代码库肯定没问题,而我啥也没改,那到底那里出问题了呢? VS2018报的错误是:error RC2001: newline in c ...
- ASP 编码转换(乱码问题解决)
ASP 编码转换(乱码问题解决) 输出前先调用Conversion函数进行编码转换,可以解决乱码问题. 注,“&参数&”为ASP的连接符,这里面很多是直接调用的数据库表字段,实际使用请 ...
- 转 :Vim文件编码识别与乱码处理
Vim文件编码识别与乱码处理 在 Vim 中,有四个与编码有关的选项,它们是:fileencodings.fileencoding.encoding 和 termencoding.在实际使用中,任 ...
- VIM 文件编码识别与乱码处理(转载)
在 Vim 中,有四个与编码有关的选项,它们是:fileencodings.fileencoding.encoding 和 termencoding.在实际使用中,任何一个选项出现错误,都会导致出现乱 ...
随机推荐
- Bootstrap框架整理
bootstrap框架的介绍 栅格系统 bootstrap框架把整个浏览器的宽度分为12列,并能适配各种屏幕的尺寸大小进行相应的匹配,达到调节页面大小的效果. 首先需要放置一个容器div,class= ...
- js获取子元素的内容
<div class="aaa1"> <div class="">123</div> <span>2222< ...
- 微信小程序onLaunch修改globalData的值
//app.js App({ onLaunch: function (options) { //设置场景值到缓存中: //wx.setStorageSync("scene", op ...
- Guess Number Game
We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to gues ...
- springboot学习之构建简单项目搭建
概述 相信对于Java开发者而言,spring和springMvc两个框架一定不陌生,这两个框架需要我们手动配置的地方非常多,各种的xml文件,properties文件,构建一个项目还是挺复杂的,在这 ...
- python基础——列表
Python列表脚本操作符 列表对 + 和 * 的操作符与字符串相似.+ 号用于组合列表,* 号用于重复列表. 如下所示: Python 表达式 结果 描述 len([1, 2, 3]) 3 长度 [ ...
- 为什么ssh 执行完命令以后 挂了, hang , stop respond
- WWSSN instrument response
由于科研需要,一项任务是完成观测地震图和the short-period World-Wide Standardized Seismograph Network instrument response ...
- python变量进阶(可变不可变,局部变量和全局变量)
变量进阶(理解) 目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引 ...
- Jquery 相关笔记
//得到所有check var c = $(this).parent().find('input:checkbox'); if (c.is(':checked')) { var role = {}; ...