转为utf8编码的正确姿势
来源:互联网 发布:onenote mac版下载 编辑:程序博客网 时间:2024/05/16 09:26
最近发现项目里面有的文件eclipse打开为乱码,显然这是由于有的同事不小心把GBK编码的文件提交到SVN。
强迫症发作,全部改为utf-8,使用的工具是Notepad++。结果是悲剧,提交代码之后,部署时编译报错,整整
停了2个小时测试环境才恢复。虽然是极其简单的事,我觉得还是有必要记录下来,希望大家不要掉入同一个坑。
项目请用utf8编码
项目请用utf8编码,项目请用utf8编码,项目请用utf8编码,重要的事情说三遍。IDE设置默认的编码为utf8。所有的开发人员都要遵守。这样,就避免了坑。
转为utf8编码的正确姿势
万一有需要转为utf8,如下步骤:
1. 请使用Notepad++打开文件
2. 选择“格式”菜单 -> 选择“转为 UTF-8 无 BOM 编码格式”
3. 保存文件
笔者在开始在步骤2选择的是“转为 UTF-8 编码格式”,引发悲剧。
BOM到底是什么鬼?
BOM全称Byte order mark,就是指定byte的编排顺序。byte编排有先大,先小两个类型。
BOM放在文本文件的开头。BOM有以下三个作用:
- 指定byte的编排顺序。
- 说明文本是unicode字符集。
- 具体指明是UTF-8,还是UTF-16,异或UTF-32。BOM对应的值不同。
UTF-8编码下,BOM为0xEF0xBB0xBF,没有什么意义,官方不推荐使用。一个文本读取程序如果不支持UTF-8的BOM或者读取出来是,那么编译程序就挂。丢弃UTF-8的BOM就正常(eclipse貌似就是这样)。所以UTF-8下不要用BOM,一个可能引起错误的存在而已。
UTF-16和UTF-32下BOM是必须有的,不太一样,不常用,所以不扒。
参考链接
- Byte_order_mark
1 0
- 转为utf8编码的正确姿势
- 字符串编码转为UTF8
- 正确读取 ANSI 编码的文本文件 UTF8
- Elixir中将GB2312编码的汉字转为UTF8编码
- c++ UTF8编码转为多字节编码
- 搜索的正确姿势
- 读开源库的正确姿势
- 跑步的正确姿势
- 跑步的正确姿势
- 正确的关机姿势
- 正确的科研姿势
- 获取utf8编码字符串正确长度的方法
- win下格式转为utf8 编码 转码
- 多字节编码转为UTF8编码 & UTF8编码转为多字节
- perl DBI 插入 oracle utf8数据库正确姿势
- utf8转为gb2312的函数
- 电脑前的正确姿势
- 二分查找的正确姿势
- WIN10使用VS2008通过网络在WINCE6.0模拟器调试应用
- WindowManager 基本应用
- android中的多进程模式(IPC)
- ios图片处理相关问题
- HDOJ5115
- 转为utf8编码的正确姿势
- 检测一个数能否被3整除----位运算
- 动态规划算法求解硬币找零问题(1)
- 设计模式--适配器模式
- Hbase伪分布式配置
- linux ftp no route to host 解决方案
- c++字符串的分割保存
- java集合性能介绍以及用法总结
- AndFix热修复问题