設置:
菜單-》文件-》高級保存選項-》設置成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 編碼,否則,顯示爲亂碼。