2

私はEclipse+PyDevを使用してコードを記述していますが、このコードを本番環境に移行するときに Unicode の問題に直面することがよくあります。理由はこの小さな例に示されています

a = u'фыва '\
'фыва'

Eclipse でこれが表示されると、何も起こらなかったように Unicode 文字列が作成されますが、同じコマンドを Python シェル (Python 2.7.3) に直接入力すると、次のようになります。

SyntaxError: (unicode error) 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128)

正しいコードは次のとおりです。

a = u'фыва '\
u'фыва'

しかし、Eclipse+PyDevの「許容範囲」のために、私はいつもトラブルに巻き込まれます :( PyDev に「ルールに従う」ように強制するにはどうすればよいですか?

4

5 に答える 5

3

これは、コンソールのエンコーディングが utf-8 であるために発生します。

現在、UI でグローバルに設定する方法はありませんが、編集することで変更できます。\plugins\org.python.pydev_2.7.6\pysrc\pydev_sitecustomize\sitecustomize.py

そして、呼び出しを削除するだけです: (108行目) sys.setdefaultencoding(encoding)

于 2013-07-01T05:55:44.387 に答える
2

この問題は、PyDev 3.4.0 (まだリリースされていません) で修正される予定です。Fabio (PyDev メンテナー) は次のように述べています。Python PYTHONIOENCODING2.6 以降でサポートされています。

GitHubのコミットは次のとおりです。

于 2014-03-14T19:04:20.703 に答える
0

# -*- coding: utf-8 -*-ソースファイルの最初の行として追加してみてください。Pythonが動作するようにする必要があります。

于 2013-06-28T07:40:10.520 に答える