Как мне разделить строку на список китайских символов в Python3 под Linux

#python #linux

#python #linux

Вопрос:

Я попробовал следующий код в python3 как с ОС Windows, так и с ОС Linux, но я получил разные результаты. Мне интересно, как разделить строку на список символов вместо байтов Юникода.

код:

 #encoding=utf-8
s = '我也不知道lll'
chars = list(s)
for char in chars:
    print(char)
  

linux env: python3.6 gcc4.4
windows env: python3.7

вывод Linux:

 Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print(char)
UnicodeEncodeError: 'latin-1' codec can't encode character 'u6211' in position 0: ordinal not in range(256)
  

вывод Windows:

 我
也
不
知
道
l
l
l
  

Ответ №1:

Попробуйте использовать

 import sys
sys.setdefaultencoding('UTF8')
  

Это явно установит вашу систему кодирования на UTF-8