根据每个文件或每个扩展名更改编码

时间:2012-09-05 07:44:08

标签: character-encoding visual-studio-2012 visual-studio-express

我正在使用Microsoft Visual Studio Express 2012 for Web。似乎我用它打开的每个文件都被编码为UTF-8。对于大多数面向网络的文件,这很好。但是,我的项目中的文件专门用于构建目的(例如, .bat 文件),必须使用ANSI编码。

VS中是否有任何配置设置可以在每个文件或每个扩展名的基础上指定编码?或者,如果没有指定编码,至少禁用自动转换为UTF-8?

3 个答案:

答案 0 :(得分:18)

在Visual Studio中打开有问题的文件并...

  • File菜单上,点击Advanced Save Options
  • Encoding下拉列表中,选择Unicode (UTF-8 …或您需要的编码。
  • 点击OK

另见: how to change source file encoding in csharp project (visual studio / msbuild machine)?

答案 1 :(得分:9)

可以在“选项”对话框中配置在每个打开的基础上处理给定扩展名的所有文件的编码选项。请参阅Options, Text Editor, File Extension上的MSDN页面。

导航至工具>选项>文本编辑器>文件扩展名

对于 bat 扩展程序,我选择了带编码的源代码(文本)编辑器 with Encoding 部分意味着将为用户提供打开文件时要使用的编码选项。此模式下的默认值为自动检测,如果该文件已经使用,则保留ANSI编码。否则,可以为单个文件明确指定它。

不幸的是,它似乎不记得上次打开文件时使用的设置,因此每次打开文件时都会提示编码设置

答案 2 :(得分:1)

我的代码转换问题宽度VS工作室2012也是如此。也就是说,我在.js文件中的字符串中有非ansi兼容字符,并且不可读输出到浏览器html页面。 我发现接受脚本文件(如.js)VS 2012会以UTF-8创建所有文件。 * 问题在于改变选项对话框中的默认值,导致语法高亮显示和智能感知在所有.js文件中停止工作。 * 所以我的解决方案解决方案知道我将带有notepad ++的.js文件转换为没有BOM的utf-8。 通过这种方式,我的“不寻常”字符在浏览器中显得很好,同时智能感觉也很好。