• ベストアンサー

海外サーバ使用時の文字化けを解決したい

海外サーバを使い、ホームページを公開したいのですが、 どうしても文字化けを起こしてしまいます。 ブラウザで調べますと、西欧(ISO-8859-1)で認識しているようです。 トップページのメタタグで「meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /」と宣言しています。 どのような記述を行えば、フツウにUTF-8と認識してもらえるのでしょうか? ご指導よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.2

1 > ブラウザで調べますと、西欧(ISO-8859-1)で認識しているようです。 ブラウザの「文字エンコーディング」がそうなってる訳ですね? その状態で、文字エンコーディングを手動で UTF-8 に変更すると、どうなりますか? 正常になりますか? 同じ化け方ですか? 違う化け方ですか? # HTML のセーブ時の他、FTPアップロード時にも変換されてないか注意。 2 > トップページのメタタグで「meta http-equiv="Content-Type" ...」と宣言しています。 このメタタグは、トップページだけでは不足で、全ての HTMLファイルに必要です。 誤解はありませんか? # トップディレクトリで 一回書くだけで良いのは、.htaccess のディレクティブです。 3 サーバーが HTMLファイルに text/html; charset=ISO-8859-1 を割り当てているなら、変更が必要です。 この割り当てと HTML内のMETAタグでの指定が食い違うと、ブラウザによって正常だったり化けたりするかも知れません。 割り当て変更は、Apache であれば .htaccess でできると思います。 補足 ここで言うサーバーの割り当ては、Content-Type レスポンスヘッダに現われます。 それは、 http://openlab.ring.gr.jp/k16/htmllint/htmllint.html とかで確認できます。(「URL指定のときHTTPレスポンスヘッダを表示します」をONにしてね) 補足2 業界規格では Content-Type レスポンスヘッダ中の charset は METAタグ中のそれより強いのですが、ブラウザによっては規格を守ってないかも知れません。 それはブラウザによって化ける/化けないが違う原因になります。

tulublue
質問者

お礼

ありがとうございました。 >ブラウザの「文字エンコーディング」がそうなってる訳ですね? 仰います通りです。ブラザの文字エンコーディングを手動で UTF-8にすると正常に表示されます。たぶんサーバーの仕様ではないかと思います。 .htaccessに「php_value default_charset UTF-8」を記載しアップしましたところ、正常に表示されるようになりました。 アドバイスを頂き本当にありがとうございます。

その他の回答 (1)

  • root_16
  • ベストアンサー率32% (674/2096)
回答No.1

サーバー側のレスポンスヘッダの設定かもしれません。 また、基本ですがhtml自体をutf-8で保存されているのでしょうか。 http://www.tagindex.com/kakolog/q2bbs/801/978.html

tulublue
質問者

補足

お返事ありがとうございます。 utf-8保存は大丈夫です。どうやらサーバ側の設定のようです。 htaccessに記述する方法もやってみましたがダメでした・・・

関連するQ&A