我正在下载一个网页,然后将页面中的字符串加载到 WPF UI 中。一个字符串有一个重音字符:“Ãine”。在调试器中,该字符串看起来不错,但是当添加到 WPF 列表框时,它看起来像这样:Ã[]ine,其中 [] 是单个矩形符号。当我从调试器 UI 复制文本并粘贴时,Ã 后面会出现一个空格。当 WPF 显示时,此“空间”显示为矩形符号。
有谁知道发生了什么?
我正在下载一个网页,然后将页面中的字符串加载到 WPF UI 中。一个字符串有一个重音字符:“Ãine”。在调试器中,该字符串看起来不错,但是当添加到 WPF 列表框时,它看起来像这样:Ã[]ine,其中 [] 是单个矩形符号。当我从调试器 UI 复制文本并粘贴时,Ã 后面会出现一个空格。当 WPF 显示时,此“空间”显示为矩形符号。
有谁知道发生了什么?
解决方法是像这样下载网页:
WebClient c = new WebClient();
var bytes = c.DownloadData(url);
UTF8Encoding utf8 = new UTF8Encoding();
var s = utf8.GetString(bytes);
而不是这样:
WebClient c = new WebClient();
var s = c.DownloadString(url);
WebClient.DownloadString
无法正确下载页面并将其转换为字符串。
您的字符串可能包含从复制/粘贴或其他内容中获取的“不可见”字符。尝试逐个字符地重写“Ãine”。