MySQLをlatin1のまま使ってて、Djangoからだと文字化けた話

表題の通りMySQL適当に使ってたってだけの話なんですが、MySQLってインストールすると、デフォルトで文字コードは軒並みlatin1になってるわけです。utf8にしててくれても良いんじゃねと思わなくもないです。

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.1.51, for apple-darwin10.3.0 (i386) using readline 5.1
...
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
...
--------------

で、この設定のままutf8な文字列を突っ込んでて、でも別にmysqlコマンドやらpythonのMySQLdbやらから読み書きしても文字化けしないし、まぁ良いかと思ってほったらかしてた訳です。そしたらDjangoから読もうとしたら文字化けしたので、なんでやねんと思って調べたのでメモしておきます。

Continue reading “MySQLをlatin1のまま使ってて、Djangoからだと文字化けた話”

[Python] OSX 10.6でMySQLdbのインストールに手間取った話

表題の件ですが、何も考えずにeasy_install MySQL-pythonとすると、インストールは成功するものの、importしようとすると以下のようなエラーが出て使用できませんでした。

ImportError: dlopen(/path/to/_mysql.so, 2): no suitable image found.  Did find:
	     /path/to/_mysql.so: mach-o, but wrong architecture

Continue reading “[Python] OSX 10.6でMySQLdbのインストールに手間取った話”

MySQLが出力するCSVファイルをPythonで読みたい件

ケースとしてはレアな気がしますが、MySQLのSELECT 〜 INTO OUTFILEで出力したCSVに対して、処理をしたい時があります。僕の場合はpythonでやるわけですが、MySQLが出力するCSVの形式がpythonデフォルトの物と違うようでハマったのでメモしておきます。

Continue reading “MySQLが出力するCSVファイルをPythonで読みたい件”