2014-01-07 4 views
0

У меня довольно странная проблема. Я использую то же самое приложение WPF на платформе Win7 и XP. Приложение включает wpf listview, в котором один столбец содержит URL-адреса. Проблема возникает на платформе XP, где не-unicode Url, в частности, китайский или корейский, показаны как квадраты.WPF китайские символы на Win XP

В то время как на Win 7 одинаковые данные отображаются правильно. Необходимо упомянуть, что другие символы не-Юникода, такие как греческий или немецкий, отображаются правильно в обеих системах.

Кто-нибудь знает, что происходит? Спасибо

  // 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

Может ли это [это] (http://stackoverflow.com/questions/11293994/how-to-convert-a-utf-8-string-into-unicode) помочь вам ? – TylerD87

+0

Греческий и немецкий ** ARE ** Юникод-символы - или, скорее, они закодированы в Юникоде. Они не являются символами US-ASCII. Ящики появляются, когда вы пытаетесь отобразить строку, отличную от Юникода, используя неправильную кодировку, или используете шрифт, отличный от Юникода. Какова кодировка данных, которые вы пытаетесь отобразить? Если исходный контент имеет заголовок кодировки, который не соответствует фактическому содержимому, вы получите поля из-за ошибок преобразования. –

+0

Строка Encoding.UTF8, однако я не уверен, почему она представлена ​​по-разному на Win7 и WinXP? – Jim

ответ

1

Это может быть шрифт, используемый для отображения символов. Можете ли вы подтвердить, что используете один и тот же шрифт для обеих систем?

Я довольно уверен, что системный шрифт по умолчанию изменен с Tahoma к Segoe UI при переходе от XP к Win 7.

(Подсказка, вы можете быть в состоянии использовать карту символов, чтобы проверить если шрифт поддерживает правильные символы)

+0

. Я изменил ta listview FontFamily на Arial, а также специально настроен на пользовательский интерфейс Segoe, кто бы он ни возвращался, как squeres на Win7, выглядит просто отлично :( – Jim

+2

Квадраты используются, чтобы указать, что шрифт не поддерживает определенный символ. – AlSki

+0

Просмотрев карту персонажа, я вижу, что * Microsoft YaHei * поддерживает большое количество символов в китайском стиле, включая 亗 U + 497 CJK Ideograph – AlSki

Смежные вопросы