2017-02-07 7 views
1

YosemiteのSublime Text 3で、US-ASCIIからUTF-8への優先エンコーディングを変更したいとします。MacOS用サブライムテキスト3の優先エンコーディングを変更する方法

import locale 
print(locale.getpreferredencoding()) 

出力である:bashで好ましいエンコーディングはUTF-8のPythonが端末で実行されるように設定されている同一のコードが崇高テキストで実行されるとUTF-8は、出力はUS-ASCIIある 。 Pythonの3のためのビルドシステムで

設定:

"encoding": "UTF-8" 

または

"env": {"PYTHONIOENCODING": "utf-8} 

は役立っていません。

修正プログラムとしてスクリプトでlocale.setlocale(locale.LC_ALL, 'en_US.UTF-8')を呼び出す必要がないように、設定を永続的に変更するにはどうすればよいですか。

+0

ビルドシステムで 'LANG'環境変数を設定するだけで十分です:' 'PYTHONIOENCODING": "utf-8"、 "LANG": "en_US.UTF- 8 "}、' - これがMacOSでうまくいくなら、私はそれを答えにします: –

+0

ありがとう、それはMacOSでもうまくいきます。 –

答えて

2

ST3のPythonビルドシステムでは、LANG環境変数を設定するように指定することができます。これはlocale.getpreferredencoding()から返される結果に影響します。したがって、Pythonスクリプトを修正する必要はありません。

例:

"env": {"PYTHONIOENCODING": "utf-8", "LANG": "en_US.UTF-8"}, 

これは、Linuxだけでなく、MacOSで動作することを確認しました。

関連する問題