多くの言語のあらゆる種類の文字を含む多くのテキストを出力する必要があります。時には、Unicode以外の文字エンコーディング(Shift-JIS、ISO-8859-2など)で出力する必要がある場合もあります。.NET:エンコーディングが文字列内のすべての文字をサポートしているかどうかを確認するにはどうすればよいですか?
エンコーディングで扱えない文字(たとえば、ISO-8859-2のエンコードされた出力の日本語文字)がテキストに含まれていると、出力に奇数文字が表示されます。私はそれらをエスケープすることができますが、私はむしろそれが本当に必要な場合にのみ行うでしょう。
私の質問は、次のとおりです。文字列内のすべての文字をエンコードできるかどうかを事前に伝える方法はありますか?
EDIT: EncoderFallbackは私が尋ねた質問におそらく正解だと思います。残念ながら、私の特別な状況ではうまくいかないようです。私の考えは、文字をHTMLエンティティに相当するものに変換することでした(例:モの代わりに)。しかし、エンコーダーは最初に見つかったそのような文字を変換するだけで、Response.ContentEncodingを設定すると、決してEncoderFallbackを呼び出すことはありません。
ありがとうございました。私は少し時間を節約できました:) – Ciaran