8

Sublime Text 2 から python3 スクリプトを実行すると、次のエラーが発生します。

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

さらに、ターミナルから同じスクリプトを実行すると、問題は発生しません。

Sublime のビルド システム設定は次のとおりです。

{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf8",
"path": "/Library/Frameworks/Python.framework/Versions/3.3/bin/"
}

前もって感謝します!

4

2 に答える 2

28

いくつかの調査と研究の後、私は問題が何であるかを理解しました:

Sublime Text 2によって実行されたサブプロセスにLANG環境変数がありません。次のように、ビルド設定にLANG変数を追加するだけで修正しました。

{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"LANG": "en_US.UTF-8"}
}
于 2013-03-02T12:57:54.937 に答える