设置:
菜单-》文件-》高级保存选项-》设置成utf-8编码
今天同事使用VS2005开发的打开VS2003创建的代码文件,发现中文都成乱码了。在VS2005的选项里找了很久,发现一个选项“自动检测不带签名的UTF-8编码(D)”。选中后重新打开代码文件,嘻嘻,中文显示正常了。
什么是带签名和不带签名的UTF-8编码文件呢?所谓签名是文件头的3个字节,就是BOM header。带签名即文件头含BOM信息,不带则没有。
带了的好处是,只要支持多编码的编辑器都能正确识别出文件编码。 不带的话,就不一定了,就有可能识别错别。 由于代码文件不带签名,默认情况下,Visual Studio 2005就不能正常识辨文件的编码了。
另外还有网友总结了常用文本编辑器对BOM header的处理方法。
UTF-8 BOM header: 是三个字节: EF BB BF。
1. notepad
notepad 在保存时,选择UTF-8 格式,会在文件头写上BOM header.
2. editplus
文件保存时,选择UTF-8 格式,不会在文件头写上 BOM header.
3. ultraedit
ultraedit 对UTF-8 的支持最为完备。在advanced->configuration中可以
选择文件保存时是否写上BOM header.
4. vi
指的是Linux 下的vim, 如果UTF-8 文件开头有BOM header, 其能够正常
显示UTF-8 编码,否则,显示为乱码。