2009-06-09 65 views
0

請參閱http://pilot.whatpub.org/Guide/002000/Pub002687.htm並查看源代碼。從Word中粘貼的字符串的HTML編碼

說明中的文字(「翻新於2005年...」)已從Word文檔粘貼到System.Web.UI.WebControls.TextBox中,然後以unicode格式保存到數據庫中。

很明顯IE裏面有一些非ASCII字符是奇怪的解釋。

現在,我可以通過System.Web.HttpUtility.HtmlEncode傳遞字符串,它將「cafe」中的e-acute字符轉換爲HTML常量。與「£」字符相同(在該例中沒有一個),所以它們看起來很好。

但是,HtmlEncode不會對「wine」之前的不尋常引號字符做任何事情,所以它仍然顯示爲怪異的序列。

是否有一些其他編碼功能可以幫助?

乾杯,羅布。

回答

3

的頁面被正確地供應UTF-8,但沒有指定字符集編碼。添加

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

到<頭> < /頭「,你會沒事的。

BTW,HTTP報頭還缺少一個字符集的定義:

$ HEAD http://pilot.whatpub.org/Guide/002000/Pub002687.htm 
[...] 
Content-Type: text/html 
[...] 
$ 

將其更改爲

Content-Type: text/html; charset=UTF-8 

和事情很快就會過去。

1

我不確定你有什麼部分的應用程序可以控制。

嘗試將Content-Type中的charset設置爲某些內容,以使瀏覽器正確渲染它們的字符。

Content-Type:text/html;字符集= ISO-8859-1

(順便說一句,在網頁正確呈現在Firefox。)

+0

我可以訪問它 - HTML是由www.whatpub.pub通過VB.NET代碼生成的,因此改變生成方式很簡單。 – 2009-06-10 21:32:51

+0

這就是瀏覽器兼容性:-)不在Chrome中呈現。 – 2009-06-10 21:41:34