白林檎ベースステーション

白林檎ベースステーションは、林檎系個人サイトです。つまり、アップルコンピュータ社の Macintosh の中途半端マニアがうだうだしているだけのサイトです。得るモノ? 他人にそんなものを求める根性は間違っています。まあ、まったりと日記などをお楽しみください。

白林檎的日常

通常表示に戻る  トップページに戻る  白林檎にメール

日記オプション



2003年8月
1
2
5
7
8
9
10
12
16
18
20
21
22
25
26
28
30
31



2003年9月
1
2
4
6
8
11
12
13
14
16
17
18
23
24
25
26
27
28
29

2003.8.18

 ふと Mozilla で日記ページの情報を見てみたら、あろうことかエンコーディングが Shift JIS と表示されている。慌てて PHP を使っている他のドキュメントも確かめてみると、これが軒並み Shift JIS。ところが、文字化けも起きずに、ページはちゃんと表示されている。これはどうしたことか。ぼくの作っているページは、太古の昔ならいざ知らず、もっぱら EUC-JP なのである。

 ソースを確認してみても怪しいところはない。と思うのだが、PHP はまだ使い始めてから日が浅いので、あまり自信がない。二十分ほど腕組みをして考える。

 以前の日記にも書いたが、HTTP ヘッダはドキュメント側で header() を使って書いている。他のヘッダはちゃんとレスポンスとして返ってくるから、これは間違いない。しかし Content-Type ヘッダだけは text/html; charset=Shift_JIS になっている。どうも php.ini で設定したものが強制的に入っているような雰囲気だ。しかし、事情があって、php.ini の default-charset を EUC-JP にするわけにはいかない。

 試しに、以前文字化けの原因だった mb_http_output() で EUC-JP を指定してみる。すると、おお、うまくいったじゃないか。header() と組み合わせれば文字化けも発生せず、レスポンスヘッダも正しく返ってくることがわかった。とりあえず一件落着である。

 しかし、それならドキュメントに書いている Content-Type ヘッダはどこへいってしまったのか。実にミステリアスである。つーかバグですか? フィードバックするべき? それとも既知の仕様?