apache2で日本語が化けるときには
genki
genki
ATOMRSS
  • ソースコードID: 367
  • 登録日時: 2007/10/23 19:48
  • 最終更新日時: 2007/11/24 23:35
  • アクセス数: 2193
  • タグ:  apache 文字化け
  • codeなにがしブックマークに追加する 0 users
  • このページを del.icio.us に追加
  • このページをはてなブックマークに追加
  • GoodJob
  • 5

GJGJGJGJGJ

説明

わりとFAQですが、久々に自分でもまたハマったので備忘録をかねて。

AddDefaultCharset が設定されているとコンテンツの META タグが無視されてしまうため、設定値とコンテンツの文字コードが異なっていると文字化けが発生します。
http://httpd.apache.org/docs/2.0/mod/core.html#adddefault...

このディレクティブは、HTTP ヘッダにコンテントタイプパラメータを 持たない応答に追加される文字セットの名前を指定します。 これは、ドキュメント内の META タグで指定されたどのような文字セット も無効にします。 AddDefaultCharset Off という設定により、この機能は無効になります。

日本語環境ではわりと有害なので、もし設定されている場合には

AddDefaultCharset Off

に設定することをお勧めします。

Debian とかだと/etc/apache2/conf.d/charset で utf-8 に設定されているので、UTF-8 以外のコンテンツを表示するときにせつない思いをすることがあるので注意してください。

また Debian の初期設定では、include ディレクティブは指定ディレクトリの全ファイルを読み込むよう指定されているため、.bak ファイルが残っているとそっちの設定が有効になってしまいます。

conf.d に charset と charset.bak があるために、変更が反映されずハマりましたので、同じく注意しましょう(>_<)

ソースコード

コメント

UTF-7のXSSとかやばいかも。
+ADw-html+AD4APA-meta http-equiv+AD0AIg-content-type+ACI content+AD0AIg-text/html+ADs charset+AD0-UTF-7+ACIAPgA8-script+AD4-alert('Hello,World')+ADsAPA-/script+AD4APA-/html+AD4-

GJ

  • iwaim
  • 2:iwaim
  • 2007/11/19 17:54

「AddDefaultCharset Off」を安易におすすめするのは止めた方がいいと思います。そもそもAddDefaultCharsetディレクティブをOffにする権限があるのならば、Offではなく適切な文字符号化方式を指定した方が良いです。

GJGJ

  • ゲスト
  • 3:ゲスト
  • 2007/11/20 21:54

いや、Offの方が無難では?

エンコーディングが一種類とは限らないですし、そもそもhtmlの中で指定すべきじゃないですかね。Offじゃなくてある特定のエンコーディングが指定されてることこそ余計であり、有害でしょう。

GJ

  • iwaim
  • 4:iwaim
  • 2007/11/24 23:35

何も考えずに「None」と指定することに懸念を抱いています。genkiさんは理解した上で指定しているはずので問題ないでしょうが、こういった文書を読む人がMoonWolfさんのご指摘なども把握しているとは思えません。

もちろん、何が起こりうるか、何をやっているのかを理解した上で指定することは問題ないと考えています。


そもそもhtmlの中で指定すべきじゃないですかね。

そもそもの話をすると、文字符号化方式はHTTPヘッダで指定するものです。HTML文書のmeta要素で指定する方法は代替手段にすぎません。


エンコーディングが一種類とは限らないですし

Apacheの設定をいじれるような権限をもつ人間ならば、文字符号化方式を統一することぐらいできるのではないでしょうか。

また、よしんば統一できないにしても、ApacheはContents Negotiationの機能で適切な文字符号化方式をファイル名と関連付けることができます。
Apacheの設定を変更できる権限があるならば、安直に「None」にだけ設定するよりかはよりベターな手法があるわけです。

GJGJ

前へ 1 次へ

プレゼン公開・共有サイト handsOut.jp チーム・マイナス6% - みんなで止めよう温暖化

ソースコードのブログパーツ

デフォルトのフォントサイズ
修飾
表示サイズ
px px
プレビュー (表示する)
下のプレビュー領域をクリックすると、ポップアップで全体を見ることができます。
パラメータが不正です

    GoodJobしたユーザ

    • Re:Lax
    • kuropon
    • l-w-i

    ブックマークコメント

    関連するなにがし

    前へ 1 次へ

    タグ

    raketime machineイベントログfilesystemobjectdeveloperprogrammingprimenumberflexriatagged電卓分数逆ポーランド記法ポーランド記法jaxbdyndnsarraylistdeepcopyディープコピーobjectoutputstreambytearrayoutputstreamobjectinputstreambytearrayinputstreamiterator複数チェックボックスmultibytexencentos文字エンコーディングinit_connectcharacter-set-servercollation-serverdefault-character-setヘルパーメソッド動的メソッド呼び出しf:labelwsse2重登録防止prototype.js位置positionedoffsetscrolltoスクロールpositionlink_tocyclecheck_box_tagチュートリアルactive_formerror_messages_forハイライトバリデーションvalidate便利リストデコレーションメールデコメ非対応機種tilestext_field_tag一括複数情報etherealrtphexテキストデータ抽出validwhenリセット一括更新plop置換replacepcoslogmixisregソケットnet::telnetfopenmutexサンプルcalendar[linux][bash][シェルスクリプト][大容量]mobilerorrails2.1クリップボードclipboard横向きピラミッドs2jdbc-genjsonicお絵かきフルパス名抽出サブドメインサブドメイン名s2jdbc自動生成エンティティxhtml

    前へ 1 2 3 ... 8 次へ