2014-01-07 42 views
0

我有比較奇怪的問題。我在Win7和XP平臺上運行的WPF應用程序完全相同。該應用程序包括wpf列表視圖,其中一列顯示URL。在XP平臺上出現的問題是非Unicode網址,特別是中文或韓文顯示爲正方形。Win XP上的WPF漢字

在Win 7上,相同的數據顯示正確。需要提到的是,其他非Unicode字符(如希臘語或德語)在兩個系統上都能正確顯示。

有人知道發生了什麼嗎?謝謝

  // Get the stream associated with the response. 
     Stream receiveStream = response.GetResponseStream(); 

     // Pipes the stream to a higher level stream reader with the required encoding format. 
     StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8); 
+0

Does [this](http://stackoverflow.com/questions/11293994/how-to-convert-a-utf-8-string-into-unicode)可以幫助你? – TylerD87

+0

希臘語和德語** ARE ** Unicode字符 - 或者更確切地說,它們以Unicode編碼。它們不是US-ASCII字符。當您嘗試使用錯誤的編碼顯示非Unicode字符串,或者使用的是非Unicode字體時,會出現框。您試圖顯示的數據的編碼是什麼?如果原始內容的Encoding標頭與實際內容不匹配,由於轉換錯誤,您會收到包裝盒 –

+0

該字符串爲Encoding.UTF8,但我不確定它爲什麼在Win7和WinXP上以不同方式呈現? – Jim

回答

1

它可能是用來顯示字符的字體。你能確認你在兩個系統上使用相同的字體嗎?

我敢肯定的系統默認字體從XP的變化而變化,從宋體的Segoe UI贏得7

(提示你可能可以使用字符映射表來檢查如果字體支持正確的字符)

+0

我將ta listview FontFamily更改爲Arial,並且還專門設置爲Segoe UI,它仍然返回,因爲Win7上的squeres看起來很好:( – Jim

+2

正方形用於表示字體不支持特定字符 – AlSki

+0

使用字符映射查看我可以看到* Microsoft YaHei *支持多種中文字符,包括亗U + 497 CJK表意文字 – AlSki