Apache2.0にしたら文字化けする
Modified: 21 December 2005, 17 April 2004
ちょくちょく文字化けが解決できないことがあります。そのたびに苦労しますよね。
"httpd.conf"を変更する
"httpd.conf"を以下のように変更します。
:
AddDefaultCharset off
:
DefaultLanguage ja
:
AddLanguage ja .ja
:
LanguagePriority ja en da nl et fr de el it ko no pl pt pt-br ltz ca es sv tw
:
コンテンツの"html"ファイルを変更する
コンテンツの"html"ファイルに以下のMETAタグを追加します。
:
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<meta http-equiv="Content-Language" content="ja">
:
"httpd.conf" の "AddDefaultCharset" を変更する
初期設定は、
"AddDefaultCharset ISO-8859-1"
無条件に ShiftJIS とする場合は、
"AddDefaultCharset Shift_JIS"
無条件に EUC とする場合は、
"AddDefaultCharset EUC-JP"
HTMLファイル内の指定に従う場合は、
"AddDefaultCharset Off" または、コメントアウト
"AddDefaultCharset none"は、間違いです。"none"を指定する"none"という文字コードとなり、エラーとなり 、結果的に、内部の文字コードの自動認識に従うのだそうです。
"httpd.conf" の "LanguagePriority" を変更する
"LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv tw"
"ja" を先頭に出す。
"LanguagePriority ja en da nl et fr de el it kr no pl pt pt-br ltz ca es sv tw"
HTMLファイルのDOCTYPE を変更する
"httpd.conf" を変更しても文字化けする場合、各HTMLファイルに以下の記述があるかどうか確認してください。
理由はわかりませんが、以下を削除すると、文字化けしなくなります。
"<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">"