2011-07-18 3 views
1

GridViewからCSVを作成してユーザーに電子メール/出力するためにStringWriterを使用していますが、現在は読み込み時に '£'(GBP)記号を出力する際に​​問題が発生していますGridViewから、それは£と読み取られ、これはCSVの正しい記号にエンコードされません。 ASCIIコードの文字列を実際のシンボルに置き換えると、少し近づく - シンボルが表示されますが、シンボルの前にアクセント付きの「A」もあります。C#StringWriterエンコーディングの問題

アイデア?

+0

アクセント記号付きの「A」が表示されると、通常はエンコードの問題となります。これは、ASCII文字の最初のバイトがマルチバイト文字として表現されることがよくあります。この場合、私は文字列の作者がUTF8か何かを使用していると思うし、あなたはasciiでそれらの行に沿って何かを読み込んでいます。常に文字エンコーディングに注意してください。 :) – Chris

答えて

2

££のHTML文字エンティティであるため、StringWriterがそれについて知っている理由はわかりません。

たとえば、HttpUtility.HtmlDecodeなど、HTMLからテキストに変換する必要があります。