2017-02-07 23 views
1

Я хочу изменить предпочтительную кодировку из US-ASCII в UTF-8 в Sublime Text 3 на Yosemite. Предпочтительное кодирование в Баше установлено в UTF-8 так, когда Python запускаются в терминале:Как изменить предпочтительную кодировку в Sublime Text 3 для MacOS

import locale 
print(locale.getpreferredencoding()) 

выхода является: UTF-8 Когда тот же самый код выполняется в Sublime Text, выход US-ASCII.

Установка в системе сборки для Python 3:

"encoding": "UTF-8" 

или

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

не помогло.

Как изменить настройку навсегда, так что мне не нужно вызывать locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') в скрипте в качестве исправления.

+0

из моего тестирования в Linux, достаточно установить '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, а также Mac OS.