Webページをダウンロードしてから、ページからWPFUIに文字列を読み込んでいます。1つの文字列にはアクセント付きの文字「Ãine」があります。デバッガーでは、文字列は正常に見えますが、WPFリストボックスに追加すると次のように表示されます。Ã[] ine、ここで[]は単一の長方形の記号です。デバッガーUIからテキストをコピーして貼り付けると、×の後にスペースが表示されます。この「スペース」は、WPFで表示されるときに長方形の記号として表示されます。
誰かが何が起こっているのか知っていますか?
Webページをダウンロードしてから、ページからWPFUIに文字列を読み込んでいます。1つの文字列にはアクセント付きの文字「Ãine」があります。デバッガーでは、文字列は正常に見えますが、WPFリストボックスに追加すると次のように表示されます。Ã[] ine、ここで[]は単一の長方形の記号です。デバッガーUIからテキストをコピーして貼り付けると、×の後にスペースが表示されます。この「スペース」は、WPFで表示されるときに長方形の記号として表示されます。
誰かが何が起こっているのか知っていますか?
文字列には、コピー/貼り付けなどから取得した「非表示」の文字が含まれている可能性があります。「Ãine」を1文字ずつ書き直してみてください。
修正は、次のようにWebページをダウンロードすることでした。
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ページを正しくダウンロードして文字列に変換できませんでした。