文字化け

http://hain.jp/index.php/tech-j/2007/02/13/%EF%BC%B0%EF%BC%A8%EF%BC%B0%E3%81%AE%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91
Ethnaで開発していたときもそうだが、HTMLのヘッダーでcharsetをセットしても、
そのセットしたコードで表示せずに文字化けするというケースがあった。
しょうがないので、プログラムから強制的にヘッダーを吐き出すという方法をとったが、
やはりちょっと納得できない。
で、さっきググッテたら上の記事を発見

●default_charsetはデフォルトの文字コードのことではない。
非常に誤解しやすい内容。
default_charsetというパラメータはご存じの人も多いと思う。
それに大抵の初心者本にはこれを設定するように書いてあるが、
むしろ逆である。
default_charsetとは

出力時にHTTPヘッダとして送信する文字コード

のこと。
これを指定しておくと以下のコードが自動で出力される。

default_mimetype = 'text/html'で
default_charset = 'utf-8'の場合
header('Content-Type: text/html; charset:utf-8');

PHPは何もWebだけ取り扱うわけではない。
Webもあればメールもあるし、
CSVやXMLもあれば、
コマンドラインもある。
そんな状態でこんなコードが自動で送信されれば迷惑この上ない。
なので、default_charsetは使用すべきではないのである。

なるほど。
ということで、php.ini確認してみると

default_charset EUC-JP
となってました。

これを削除すればうまくいくのかな。