1

多くの異なる方法を使用して入力されたデータベースからいくつかのデータを返しています。通常、Wordからコピーして貼り付けます。

最後のすべての文字を手動でHtmlEncodeしようとするのではなく、ページのcontent-typeを使用して別の文字セットをロードするという賢明なアイデアがありました。現在、デフォルトのコンテンツタイプを上書きするために何もしていません。ローカルで実行した場合、コンテンツタイプはutf-8として表示され、「外部」文字が表示されました。アップロードすると、コンテンツタイプはISO-8859-1として返され、「外部」文字は疑問符として表示されていました(2種類...)。

次に、を使用して返された文字セットを上書きしましResponse.Charset = "utf-8";た。応答ヘッダーにutf-8が正しく表示されているにもかかわらず、正しい文字の代わりに疑問符が表示されます。以下の画像をご覧ください。

ローカルページ

ローカルページ、すべての文字が正しく表示される

ローカルページヘッダー

ローカルページヘッダー

外部ページ(2種類の疑問符に注意してください)

外部ページ、2種類のエラー疑問符に注意してください

外部ページヘッダー

外部ページヘッダー

http://htmlpurifier.org/docs/enduser-utf8.htmlをフォローしましたが、UTF-8が必要なことを除けば、解決策が見つかりませんでした。

4

1 に答える 1

0

解決しました。すべてがどのように機能しているかはまだ完全にはわかりませんが、私が何をしたかを説明します。

コンテンツタイプがUTF-8であるというヘッダーにもかかわらず、これは問題を解決しませんでした。Odedが示唆しているように、IIS> .Net Globalizationで、ISO-8859-1に設定された2つの設定(要求と応答)が見つかりました。

これらをUTF-8に変更すると、問題が解決しました。

理由については、ヘッダーが同じように見えるのでわかりません。誰かが何が起こっているのかを説明できれば、それは素晴らしいことです。

于 2012-05-03T09:36:57.370 に答える