しばらく前から認識はしていたのだけど、サーバの仕様ということで放ってある問題がある。
携帯向けにShift_JISに変換して出力する、EUC-JPで書かれたスクリプトがあるのだが、それでMySQL5.1.11と今までのようにDBIを通じて書き込みを行うと、文字化けする、という問題だ。
しかし、CGI::Sessionを通じて同じデータベースの別テーブルに書き込んでいるほうは文字化けしないのだ。
漢字コードを指定するためには「SET NAMES ujis」というSQLを入れるといいらしいので、それをやってみたら、そこはうまくいった。
しかし、今度はもともと文字化けしていなかったほうが文字化けする。
データベースハンドルは同じものを使っているのだけど。
何がどうなんだろうねぇ。

普通に考えて、CGI::Sessionのほうは、漢字コードを変換してデータベースに書き込んでいるんだろう。
でも、どこでそうなってるのか、ソースを読もうとして挫折。
で、今に至ると。