IT Office Nishimiyahara

個人用スマホから商用プログラミングまでなんでもお任せ下さい

EUC-JPで書き込むとMySQLで文字化けする?

      2014/02/28

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


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

respo

respo link

ZenBackWidget

 - 情報技術について