UnicodeEncodeError: кодек «ascii» не может кодировать символ в позиции 0: порядковый номер не в диапазоне (128)

я работаю над скриптом Python, который использует символ ножниц (9986 - ✂) и я'я пытаюсь перенести мой код на Mac, но яЯ сталкиваюсь с этой ошибкой.

Символ ножниц хорошо отображается при запуске из IDLE (Python 3.2.5 - OS X 10.4.11 iBook G4 PPC), и код прекрасно работает на Ubuntu 13.10, но когда я пытаюсь запустить его в терминале, я получаю эту ошибку / проследить:

Traceback (most recent call last):
  File "snippets-convert.py", line 352, in 
    main()
  File "snippets-convert.py", line 41, in main
    menu()
  File "snippets-convert.py", line 47, in menu
    print ("|\t ",snipper.decode(),"PySnipt'd",snipper.decode(),"\t|")
UnicodeEncodeError: 'ascii' codec can't encode character '\u2702' in position 0: ordinal not in range(128)

и код, который дает мне проблему:

print ("|\t ",chr(9986),"PySnipt'd",chr(9986),"\t|")

Безразлично»т этот сигнал, что терминал нене может отобразить этот символ? Я знаю, что это старая система, но в настоящее время это единственная система, которую я должен использовать. Может ли возраст ОС мешать программе?

прочитал над этими вопросами:

UnicodeEncodeError: 'ASCII» кодек можетт кодировать символ и\ ХеР» в позиции 0: порядковый номер вне диапазона (128) - Другой персонаж "

UnicodeEncodeError: 'ASCII» кодек можетт кодировать символ " - Используя 2.6, так что нене знаю, если это применимо

UnicodeEncodeError: 'ASCII» кодек можеткодировать символ? - Кажется, правдоподобное решение моей проблемы,.encode('UTF-8')Я нене понимаю ошибку. Тем не менее, он отображает код символа, а не символ, который я хочу, и.decode() просто дает мне ту же ошибку. Не уверен, если яЯ делаю это правильно.

UnicodeEncodeError: 'ASCII» кодек можетt кодировать символы в позиции 0-6: порядковый номер не в диапазоне (128) - Не уверен, если это применимо, онс помощью графического интерфейса, получения ввода и все на греческом языке.

Какие'вызывает эту ошибку? Это возраст системы / ОС, версия Python или какая-то программная ошибка?

РЕДАКТИРОВАТЬ: Эта ошибка возникает позже с этой проблемой дубликата (просто думал, что яя добавлю его в том же приложении и с той же ошибкой):

Traceback (most recent call last):
  File "snippets-convert.py", line 353, in 
    main()
  File "snippets-convert.py", line 41, in main
    menu()
  File "snippets-convert.py", line 75, in menu
    main()
  File "snippets-convert.py", line 41, in main
    menu()
  File "snippets-convert.py", line 62, in menu
    search()
  File "snippets-convert.py", line 229, in search
    print_results(search_returned)      # Print the results for the user
  File "snippets-convert.py", line 287, in print_results
    getPath(toRead)                                             # Get the path for the snippet
  File "snippets-convert.py", line 324, in getPath
    snipXMLParse(path)
  File "snippets-convert.py", line 344, in snipXMLParse
    print (chr(164),child.text)
UnicodeEncodeError: 'ascii' codec can't encode character '\xa4' in position 0: ordinal not in range(128)

РЕДАКТИРОВАТЬ:

Я вошел в настройки символа терминала, и он фактически поддерживает этот символ (как вы можете видеть на этом скриншоте:

когда я вставляю его в терминал, он печатает это:\342\234\202 и когда я нажимаюВойти Я получаю это:-bash: ✂: command not found

РЕДАКТИРОВАТЬ Команды запускались как @ J.F. Себастьян спросил :::

python3 test-io-encoding.py

PYTHONIOENCODING:       None
locale(False):  US-ASCII
device(stdout): US-ASCII
stdout.encoding:        US-ASCII
device(stderr): US-ASCII
stderr.encoding:        US-ASCII
device(stdin):  US-ASCII
stdin.encoding: US-ASCII
locale(False):  US-ASCII
locale(True):   US-ASCII

python3 -S test-io-encoding.py

PYTHONIOENCODING:       None
locale(False):  US-ASCII
device(stdout): US-ASCII
stdout.encoding:        US-ASCII
device(stderr): US-ASCII
stderr.encoding:        US-ASCII
device(stdin):  US-ASCII
stdin.encoding: US-ASCII
locale(False):  US-ASCII
locale(True):   US-ASCII

РЕДАКТИРОВАТЬ Попробовалhackerish» Решение предоставлено @PauloBu:

Как видите, это вызвало одну (Yay!) Ножницу, но теперь я получаю новую ошибку. Traceback / ошибка:

+-=============================-+
✂Traceback (most recent call last):
  File "snippets-convert.py", line 357, in 
    main()
  File "snippets-convert.py", line 44, in main
    menu()
  File "snippets-convert.py", line 52, in menu
    print("|\t "+sys.stdout.buffer.write(chr(9986).encode('UTF-8'))+" PySnipt'd "+ sys.stdout.buffer.write(chr(9986).encode('UTF-8'))+" \t|")
TypeError: Can't convert 'int' object to str implicitly

РЕДАКТИРОВАТЬ Добавлены результаты @PauloBu 'исправление:

+-=============================-+
|
✂ PySnipt'd 
✂       |
+-=============================-+

РЕДАКТИРОВАТЬ:

И его исправить для его исправить:

+-=============================-+
✂✂|       PySnipt'd     |
+-=============================-+

Ответы на вопрос(4)

Ваш ответ на вопрос