2010-12-17 215 views
13

我们使用Visual Studio 2010专业版来开发和维护我们公司的ASP(传统ASP,而不是ASP.NET)电子商务网站,并且我正在使用文件编码每次创建新页面时都会出现问题。如何在Visual Studio 2010中设置默认编码

我们网站上的每一页都保存为Windows-1252,当我创建一个新页面(或随机修改现有页面)时,Visual Studio使用UTF-8编码保存页面,将扩展字符或#includes(因为包含的文件被保存为Windows-1252,并且包含该文件的页面是UTF-8,所以在显示时包含的内容会变得不合时宜)。

我试过到处搜索,但我发现的唯一解决方案是“用文件手动保存每个文件”→“另存为”→“用编码保存”,每次都很麻烦

我已经尝试在“环境”→“文档”设置中取消选择“在无法在代码页中保存数据时将文档另存为Unicode”选项,但无济于事。

我真能坚持手工的东西?

+0

我冒昧地从中删除“ANSI”。 Windows-1252没有ANSI标准。 – 2017-02-08 10:17:57

回答

13

我很晚才回答这个问题,但我自己也有过这个问题,这是谷歌的第一次打击,所以如果其他人想知道的话,我会在这里记录它。 :)

Visual Studio中新文件的默认编码取决于该类文件的模板。

实例的JavaScript文件模板在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Web \ WebNewFileItems \ JScript.js中(在我的盒子中)中引用。 如果您编辑该文件并将其保存为您选择的编码,则使用VS创建的所有新JavaScript文件都将使用该编码。

因此,您可以独立设置每种文件类型的编码。

+0

Intresting解决方案。现在我只需要找到它保存纯文本文件模板的位置...... – Albireo 2012-03-27 10:55:39

+0

C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VSTSDB \ Items :) – 2012-03-28 11:33:15

+0

奇怪的是,它不存储模板在一个地方像vs2003一样。我在想C++模板在哪里 – Swift 2017-02-06 12:47:34

1

我不知道是否有在VS更改默认编码设置(尽管我非常怀疑它)。然而,你可以很容易地编写一个小插件,给你一个“另存为1252”命令,然后可以将它映射到你喜欢的任何菜单。

+0

那么这可能是一个解决方法,但不是最好的(我不知道有关创建Visual Studio加载项的事情)。如果没有其他选择是可行的,我会尝试与此。一些搜索引擎查找的时间... – Albireo 2010-12-17 14:31:05

+0

我会留在这里看看是否有人找到更好的解决方案。 – TToni 2010-12-17 14:46:20

+1

下面是一个阻止VS向UTF-8编码文件添加BOM的加载项示例:https://vlasovstudio.com/fix-file-encoding/ – feetwet 2016-08-24 14:07:20

-2

无法找到它,但内置的解决办法是,文件>另存为>又在哪里保存按钮,有一个向下的箭头,给你的“保存与编码”

选项我选择美ASCII原因我在发布所有文档时都会收到BOM。

+3

如果您阅读完整的问题,您将看到OP是已经在做你的建议。提示:总的来说,对于你自己的发展,花一些时间花在阅读正确的东西上可以节省更多的时间,因为你没有修复你可以避免的错误。 ;) – 2012-02-14 08:45:32

0

Lars-Erik's answer有窍门。

只需添加一些信息:

  • 对于那些谁想要改变的MFC文件的默认编码,我这里还有模板:

... \微软的Visual Studio 10.0 \ VC \ VCWizards \ CodeWiz \ MFC \ Simple \ Templates \ LANG_CODE

LANG_CODE是您的VS 2010(1033:zh-cn,2052:zh-cn等)的语言。)

  • 在我的情况下,VS的语言为en-us,和MFC模板文件 都没有UTF8 BOM全部用英文写的(仅ASCII字符),这 意味着它们可以被解释为一个UTF8文件或我的操作系统代码 页(cp932)中的文件。由这些模板创建的文件在默认情况下将使用cp932而不是 Unicode进行处理,因此我必须将BOM添加到这些模板以使VS 2010( )以UTF8(也使用BOM)显式保存文件。
相关问题