.htaccess活用法(8)

.htaccess(拡張子がhtaccessということで、ドットが必要です。ファイル名がないので最初戸惑いますが、こういうものだと思ってください。)が利用可能だと、

8.文字化け対策としての.htaccess

.htaccessと文字化け対策、一見結びつきの無さそうなペアですが、非常に関係があります。一般に文字化け対策として挙げられるのはメタタグですが、メタタグだけではどうしても対処できないケースがあります。

例えば、ネットスケープ4.Xでは、Basic認証後やリダイレクト後に表示されるページで文字化けが発生します。Basic認証後に表示されるページでどのようなメタタグが使われているかに関わらず、ISO-8859-1で表示しようとするためです。この現象の細かい理由については、

(参照)▼ Apache 1.3.12 文字化け問題
http://www.asahi-net.or.jp/~AE5T-KSN/apache/charset-problem.html

を参照していただきたいのですが、この問題の解決のためには、メタタグで文字コードを指定するのではなく、HTTPヘッダー内で明示的に文字コードを指定してあげる必要があります。

この時に使えるのが、.htaccessです。

AddType "text/html; charset=Shift_JIS" .html

などと書きます。AddTypeはMIMEタイプを指定するディレクティブ(命令)です。「.html」が「text/html」なのは周知の事実ですが、文字コードの指定ができます。これにより、拡張子が「.html」であるファイルは全てShift_JISであると決め付けることができます。もちろん、この.htaccessが影響する範囲内に、EUC-JPのファイルがあれば、かえって文字化けしますが、使い方を誤らなければ、非常に有効な利用法です。

また、実は文字コードが原因で、Javascriptが特定のブラウザで動かなくなることがあり、このような場合にも.htaccessによるcharsetの指定は有効です。詳しくは、

(参照)▼ Mac版ネットスケープ4.XでのみJavascriptが動かない
http://www.shtml.jp/mojibake/mac_ns4.html
Mac版ネットスケープ4.Xでは、HTMLファイルの文字コードがEUC-JPの場合、一部のJavascriptが動かないことがあります。対策として、「AddType "text/html; charset=EUC-JP" .html」とする方法を紹介しています。

また、携帯サイトを作成する際にも、この.htaccessによるcharsetは有効です。例えば、auでは、

(参照)▼ EZwebホームページを作ろう「技術情報」
http://www.au.kddi.com/ezfactory/tec/spec/4_2.html

には様々な拡張子別のMIMEタイプを紹介していますが、その中にこの.htaccessによるcharsetの指定方法も紹介されています。


   「ディレクティブ」とは「命令」の意味。

▼ AddType ディレクティブ
http://httpd.apache.org/docs/mod/mod_mime.html#addtype


次のページでは、index.htmlやindex.htmをデフォルトページとするのではなく、index.cgiやindex.phpをデフォルトページにする方法を説明します。



  
【PR】 急げ!新ドメインは早いもの勝ち!

  
【PR】 オールインワンネット通販システム