10月 8th, 2008

ブラウザの文字コード判?

Posted in Apache by admin

RPM版Apacheに? 属しているデフォルトぜ httpd.confには、AddDefaultCharsetディレクティブでデフォルトの文字コードが指定されている場合があります。(RHEL5.1付属ぜ Apache2.2.3では、”UTF-8″が指定されていました)AddDefaultCharsetの設定により、コンテントタイプが text/plain あるいぜ text/html の場合の文字コードを指定出来るので、このパラメータを”UTF-8″に設定した場合は以下のようなレスポンスヘッダを返します。

HTTP/1.1 200 OK
Date: Wed, 30 Sep 2009 07:12:51 GMT
Server: Apache
Last-Modified: Mon, 31 Aug 2009 09:24:01 GMT
ETag: "70600-31-981e4e40"
Accept-Ranges: bytes
Content-Length: 100
Connection: close
Content-Type: text/html; charset=UTF-8

また、AddDefaultCharsetをOnにすれば、 Apache 内部のデフォルト文字セット「 iso-8859-1」に設定され、Offにすれば文字セットは? 加されません。HTML4.01の? 様では、ブラウザが以? の優先順位で文字コードを決? する事を規定しています。

1.HTTPにおけるContent-Typeヘッダぜ charsetパラメー゜
2.HTML文書内ぜ META宣? およぜ http-equiv属性で設定された、
  Content-Typeヘッダぜ charsetパラメー゜
3.HTML文書内の各要素ぜ charset属怜

つまり、AddDefaultCharsetでセットした文字コードぜ HTML文書内の文字コード指定を上書きし、HTML作成者側からは? 図しない動作(文字化け)をブラウザ側に起こさせる場合があります。Apache上のコンテンツが統? された文字コードのドキュメントに統一されない限り、Apache側では柔軟性を持たせるように「Off」にしておぜ 方が安全かもしれません。

http://httpd.apache.org/docs/2.2/mod/core.html#adddefaultcharset

You can leave a comment, or trackback from your own site. RSS 2.0

Leave a comment