DW8與VS2003的亂碼問題解決
2024-09-12 12:32:32
供稿:網友
確切的說應該是Dreamweaver與VS2003的UTF-8兼容問題
問題描述
我習慣用DW的代碼視圖來編寫HTML,而C#自然還是要在VS里寫更舒服些.
DW我設置為xhtml1.0 utf-8 ,VS2003也同樣保存為utf-8,可打開DW的文件或者復制DW的代碼進來就是亂碼,百思不得其解,都是UTF-8的呀,為什么還會亂碼,而且更奇怪的是用IE瀏覽這亂碼網頁也都能分辨出是utf-8的編碼.
問題只能集中在utf-8編碼本身了,這才注意到utf-8的一些選項,查詢了下 簽名 BOM的信息
在布盧斯狼的blog上http://www.cnbruce.com/blog/showlog.asp?log_id=1000&cat_id=27 引用內容
如果選擇 Unicode (UTF-8) 作為默認編碼,則可以選擇“包括 Unicode 簽名 (BOM)”選項以在文檔中包括字節順序標記 (BOM)。
BOM 是位于文本文件開頭的 2 到 4 個字節,可將文件標識為 Unicode,還標識后面字節的字節順序。由于 UTF-8 沒有字節順序,因此可以選擇添加 UTF-8 BOM。對于 UTF-16 和 UTF-32,這是必需的。
ok,在DW和VS上都選擇帶簽名,保存就OK了
還找到了如下信息,雖然現在沒發現問題,但還是設置一下,就是選擇C標準的UTF-8.
引用內容
如果選擇 Unicode (UTF-8) 作為默認編碼,請選擇一個 Unicode 標準化表單。
有四種 Unicode 標準化表單。最重要的是標準化表單 C,因為它是用于萬維網的字符模型的最常用表單。Macromedia 提供其他三種 Unicode 標準化表單作為補充。
在 Unicode 中,有些字符看上去很相似,但可用不同的方法存儲在文檔中。例如,“”(e 變音符)可表示為單個字符“e 變音符”,或兩個字符“正常拉丁語 e”+“組合變音符”。Unicode 組合字符是與前一個字符結合使用的字符,因此變音符會顯示在“拉丁語 e”的上方。這兩種形式都顯示為相同的印刷樣式,但保存在文件中的每種形式是不同的。
標準化是指確保可用不同形式保存的所有字符都使用相同的形式進行保存的過程。即,文檔中所有“”字符都保存為單個“e 變音符”或“e”+“組合變音符”,而不是在一個文檔中保存為這兩種形式。
有關 Unicode 標準化和可以使用的特定表單的更多信息,請參見 Unicode Web 站點,網址是 http://www.unicode.org/reports/tr15 。