Как напечатать ダ イ ス キ, используя Python 3.7 в Scite? - PullRequest
0 голосов
/ 14 декабря 2018

Я использую Win10 & Scite с окном вывода с поддержкой utf-8.Файл сохраняется как UTF-8 с спецификацией

Сценарий:

print('ダイスキ from python 3')

Сценарий можно запустить на cmd prompt без ошибок.Но при запуске на Scite он выдаст ошибку:

Вывод:

>pythonw.exe -u "test.py"
Traceback (most recent call last):
  File "test.py", line 12, in <module>
    print('\u30c0\u30a4\u30b9\u30ad from python 3')
  File "D:\BIN\Python37\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 1-2: character maps to <undefined>
>Exit code: 1

Как правильно вывести ダ イ ス キ на стандартный вывод, используя python3 с Scite?


Обновления:

Я отредактировал файл глобальных опций Scite для поддержки utf-8.

code.page=65001

Я протестировал C,Lua, старый Python 2.7, и он может печатать строки utf-8 (в окне вывода Scite).

Кажется, что это ошибка конфигурации Scite или, возможно, ошибка Scite, потому что окно терминала вывода Scite работает на Lua & C, но не работает только на Python3.

the script

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Scite включает в себя popen () / трубопровод STDOUT.

Python 3.7 требует, чтобы переменная env "PYTHONIOENCODING" была установлена ​​вручную.Поэтому вам нужно добавить переменную окружения "PYTHONIOENCODING", установленную в "utf_8"

enter image description here

Результат:

enter image description here

0 голосов
/ 14 декабря 2018

Попробуйте сделать это:

print(u'ダイスキ')
...