You are here: Home tech Python系 Pythonでの文字コード変換
Navigation

 
Document Actions

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を作ってくださった、「ダメ出し日記」さん。ありがとうございます。