Pythonでの文字コード変換
Pyhonのバカな文字コード変換に疲れたら、これを使ってみると吉かも・・。
まずは、サーバにnkfをインストールします。必要なファイルをsourceforge.netからDLしてきます。2007/1/22現在、nkfはver207でした。
http://sourceforge.jp/projects/nkf/
DLしたファイルを展開し、コンパイルします。その後、必要なディレクトリに移動します。今回は、/bin/nkfにします。
$ tar zxf nkf207.tar.gz
$ cd nkf207
$ make
$ sudo cp nkf /bin/.
次に、NKF.pythonをインストールします。DL先は、下記URLになります。
http://city.plala.jp/download/nkf/
DLしたファイルをnkfのソースフォルダに展開し、インストールします。
$ cd nkf207
$ tar zxf NKF_python.tar.gz
$ cd NKF.python
$ python setup.py build
$ sudo python setup.py install
正しくインストールできたかどうか確認するには、下記のようにimportします。
$ python
>>> import nkf
次に、Pythonのデフォルトのエンコードをnkfを使ったエンコードに上書きします。
やり方は、下記サイトからjapanesenkf.pyをDLしてきます。その後、そのファイルをPythonでimportできるように、site-packagesフォルダに移動します。場所は、皆さん違いますので、参考程度に。
http://www.sfo.jp/blog/archives/2007/01/python_japanesenkf_codec_and_mailman.html
$ cp japanesenkf.py /usr/local/lib/python2.4/site-pacages/.
最後に、pythonで「decode」「encode」を使うときに、下記のコマンドを実行すると、nkfを使用したエンコード・デコードを行うようになります。
$ python
>>> import japanesenkf
>>> japanesenkf.overrideEncodeings()
あとは、通常通り文字コード変換を行うと、幸せになります。
謝辞:
japanesenkfを作ってくださった、「ダメ出し日記」さん。ありがとうございます。