IISがログサイトを配備する際に発生するUTF 8ファイルの文字化けしの問題と解決
6174 ワード
問題発生原因
オンライン上の問題ログの表示を容易にするために、サーバのIISにサイトを新設し、ルートディレクトリはlogディレクトリを指し、ディレクトリの閲覧を開始した.ええと、サイトに入って、カタログのリストを見て、txtファイルを見つけて、クリックしてログを見て、あれ、どうして中の中国語が#%$@になりましたか?
はい、以前よくこの问题を処理して、chromeのメニュー="もっと多くのツール="コード="UTF 8をクリックして解决することができて、私は熟练してメニューを开いて、私は探して、探して、コードメニューはどこへ行きましたか??何だ?もともとchromeは自分の自動検出機能がすごいと思っていたBが、符号化オプションを外して、外してしまった......
どうしよう?IISサーバからしか手がつけられず、半日の資料を調べて、サイトのルートディレクトリの下のWebでソリューションを見つけました.configは、次の構成を追加します.
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Content-Type" value="text/plain; charset=utf-8" />
customHeaders>
httpProtocol>
system.webServer>
configuration>
うーん、やっぱり、txtファイルは文字化けしてない.ちょっと待って、ディレクトリリストはどうしてhtmlになりましたか??上の配置のplainがやった鬼をtext/htmlに変えたらどうですか?私は行って、txtファイルはまたhtmlになって解析して、このようにxssの攻撃の可能性があることができます......次のように変えて、いかなる効果がありません:
<add name="Content-Type" value="charset=utf-8" />
結局自分で半日模索して、解決策を見つけて、やはりwebを変えました.configは、以下のような内容で、簡単に言えばtxt拡張子のみを設定するmimetypeです.
<configuration>
<system.webServer>
<directoryBrowse enabled="true" showFlags="Date, Time, Size, Extension, LongDate" />
<staticContent>
<remove fileExtension=".txt" />
<mimeMap fileExtension=".txt" mimeType="text/plain;charset=utf-8" />
staticContent>
system.webServer>
configuration>
最後に自己反省します:私はこんなに頭がいいのではないでしょうか......