具体的には、今までv2.46だったCGI.pmを一気にv2.68まで上げた。(というか、CPANモジュールでアップデートしたら、そうなってしまった)
どのバージョンからこんなクダランものが入ったのか謎なのだけど、大きな変更が2点。
ひとつは、header()メソッドに-charsetオプションがついた。それは嬉しいことだが、なんとデフォルトを「ISO-8859-1」にしていやがる。今までは-charsetなんてオプションはなかったから、-type => 'text/html; charset=euc-jp' なんてやっていた。これがすべて水の泡。
もうひとつは、余計なエンコーディング。charsetを指定しようがなんだろうが、8bit目が立っているキャラクタを「{」みたいな実体参照に置き換えてしまうのだ。…ご冗談を(--;
ああ、古いバージョン、どこいったかなぁ。
Zopeのプロダクトにも、この手の「余計な処理」が目立つ。かんべんして欲しい。
ちゃんとサポートできないなら、8bit-cleanのママのほうがまだマシだ。
|