Tips記事
» 2003年06月26日 18時19分 UPDATE

リダイレクト先で文字化けしてしまう

[木田佳克,ITmedia]

 HTTPコード「301」や「401」によるページ移動がWebブラウザに返されると、転送元のURLはブラウザ上に表示されず、瞬時に設定先URLへとジャンプする(参考Tips「永続的にHTTPアクセス先を変えたい」)。

 しかし一部のWebブラウザバージョンでは、METAタグにいかなるcharset値が設定されていても、ページ直前のHTTPレスポンスで返されたcharsetを見てしまうため、文字化けが生じる(301や401返答自体のHTTPコード)。

 このHTTPレスポンスには、サーバソフト(Apache)側のバージョンに依存する差異があり、Apache 1.3.11までは以下のように、301や401でのHTTPレスポンスに文字コードまでを返さない仕様だった。

Content-Type: text/html

 しかし、Apache 1.3.12以降、2.0系列でも標準で次のようにコードを含んで返すようになっている。

Content-Type: text/html; charset=iso-8859-1

 このために文字化けが発生してしまう可能性があるわけだ。この回避策としては、リダイレクト設定を行っているサーバ上で、「mod_mime」モジュールの「AddCharset」を使う方法がある。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ