Jythonの対話コンソールでエラーが発生する場合の対処
Jython2.5.1でコマンドプロンプトやターミナルでJythonの対話コンソールを開き、["aaa"+"bbb"]や[a = "abcd"]などを入力すると以下の様なエラーが発生すると思う。
LookupError: unknown encoding 'ms932'
これはJython2.5.0からあった問題だが2.5.1ではフィックス(回復させる,元に戻す)と言われていた。しかし2.5.1になっても解決していない...2.2.1では大丈夫だったけどね。2.5.2RC2はどうだろう確認はまだしてないな。
まずコマンドプロントをShift-JISで設定させてるのが原因かと思い、コマンドプロンプトをUTF-8に変更しJythonを起動してみた。
もちろん駄目でした。
chcp 65001
次の記事でJythonの日本語入力の解決方法を書く予定ですが、実はその解決方法で今回のエラーも治ってしまうのですよ。ですがそのコーデックを手に入れるには少し面倒なので・・・。
という訳で今回は回避方法だけ記しておきます。
Jythonを実行する時にオプションを付けてUTF-8として実行します。
このように実行する事で【LookupError: unknown encoding 'ms932'】は発生しなくなります。
ただ日本語を出力させたりする事は出来ないと思います。私の環境では
C:\>jython
jython 2.5.1....
:
:
>>> print "こんにちわ"
・・・
となりますからね。
と以上が私のWindows環境でのお話でした。ちなみに私の環境のMacではターミナルからJythonコンソールを開き、何もオプションを付けなくてもエラーは発生しませんし、日本語入力も問題ないんだよね。もちろんEclipseで日本語出力するとエラーを吐きますが。とまあ、文字コードが原因というのが分かっていただけたと思います。
根本的な解決については次回の記事をご覧下さい。