久しぶりの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にありました。各バージョン毎に用意するの大変ですね。いま時は自動可しているかな?
さすがにしばらく見ないと、いろいろと変わっていますね。