久しぶりのPython

Python2.3.4で動いていたCGIスクリプトを修正する必要に迫られました。どうせならという事で、新しめのPython 2.6.4で動かしてみます。

しかしエンコーディングのエラーが・・・。
ちなみにソースはShift-JIS。クライアントはWindows XP。
エンコーディングの扱いが変わっていそうな感じです。

調べてみると、最近は日本語バージョンというのは無いそうで、本家に統一されたっぽいですね。
エンコーディングについては、ここのサイトが参考になりました。

http://python.matrix.jp/tips/string/encoding.html

仕組みを完全には理解していないのですが、ファイルを1つ設置したら何事も無く動作しました。Python 本体のデフォルトエンコーディングを ascii から mbcs に変更しています。

(Python directory)\Lib\site-packages\sitecustomize.py

import sys
sys.setdefaultencoding(‘mbcs’)

こんな事をするとUTF-8を使ったスクリプトを扱う場合に問題出そうですが、それはそんな機会が訪れたら考える事にします。猿真似はおすすめできません。

その他にodbcドライバも使いたかったので mark hammond 氏のサイトを見たのですが、古いバージョンしかありません・・・ええーっと思いながらも良く見ると、SourceForgeにありました。各バージョン毎に用意するの大変ですね。いま時は自動可しているかな?

さすがにしばらく見ないと、いろいろと変わっていますね。