2010-12-17 63 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)顯式保存文件。
相關問題