UTF-8与Visual Studio 2008中的代码页1252,用于包含欧洲字符的HTML和JavaScript

mar*_*ith 2 html javascript utf-8 codepages visual-studio

我一直在开发一个解析器,它将JavaScript作为输入,并创建该JavaScript的压缩版本作为输出.

我最初发现解析器在尝试读取输入JavaScript时失败了.我相信这与Visual Studio 2008默认将其文件保存为UTF-8这一事实有关.在这样做时,VS 在UTF-8文件的开头包含几个隐藏字符.

作为一种解决方法,我使用Visual Studio将文件保存为代码页1252.完成后,我的解析器能够读取输入的JavaScript.

请注意,我需要使用包含重音的特殊欧洲字符.

所以,这是我的问题:

  1. 我应该使用代码页1252还是UTF-8?
  2. 为什么Visual Studio默认将文件保存为UTF-8?
  3. 如果我选择保存文件为1252会导致问题?
  4. 在我看来,Eclipse默认将文件保存为代码页1252.听起来不错吗?

Mic*_*rdt 9

UTF-8是一个更好的选择,因为它确实支持所有已知字符,而对于1252,您可能最终会得到您需要丢失的字符(即使在欧洲语言中).

显然,VS2008使用字节顺序标记保存UTF-8 - 应该可以关闭它,或让解析器识别它,或者将BOM剥离到其间的某个位置.

  • 您可以使用保存对话框中的"使用编码保存"选项,然后显式选择"无签名的UTF-8". (3认同)