UnicodeEncodeError: el codec 'ascii' no puede codificar el carácter en la posición 0: ordinal no está en el rango (128)

Estoy trabajando en una secuencia de comandos de Python que usa el carácter de tijera (9986 - ✂) y estoy tratando de portar mi código a Mac, pero estoy teniendo este error.

El carácter de tijera aparece bien cuando se ejecuta desde IDLE (Python 3.2.5 - OS X 10.4.11 iBook G4 PPC) y el código funciona completamente bien en Ubuntu 13.10, pero cuando intento ejecutar esto en el terminal, obtengo este error / rastrear:

Traceback (most recent call last):
  File "snippets-convert.py", line 352, in <module>
    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)

y el código que me está dando el problema:

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

¿No indica esto que el terminal no tiene la capacidad de mostrar ese carácter? Sé que este es un sistema antiguo, pero actualmente es el único sistema que tengo que usar. ¿Podría la edad del sistema operativo interferir con el programa?

He leído estas preguntas:

UnicodeEncodeError: el codec 'ascii' no puede codificar el carácter u '\ xef' en la posición 0: ordinal no está en el rango (128) - personaje diferente

"UnicodeEncodeError: el codec 'ascii' no puede codificar el carácter" - Utilizando 2.6, así que no sé si se aplica.

UnicodeEncodeError: el codec 'ascii' no puede codificar el carácter? - Parece ser una solución plausible a mi problema,.encode('UTF-8'), No me sale el error Sin embargo, muestra un código de carácter, no el carácter que quiero, y.decode() Solo me da el mismo error. No estoy seguro de si estoy haciendo esto bien.

UnicodeEncodeError: el codec 'ascii' no puede codificar caracteres en la posición 0-6: ordinal no está dentro del rango (128) - No estoy seguro de si esto se aplica, está usando una GUI, recibiendo información y todo en griego.

¿Qué está causando este error? ¿Es la edad del sistema / SO, la versión de Python o algún error de programación?

EDITAR: Este error surge más adelante con este problema duplicado (solo pensé que lo agregaría ya que está dentro del mismo programa y es el mismo error):

Traceback (most recent call last):
  File "snippets-convert.py", line 353, in <module>
    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)

EDITAR:

Entré en la configuración de caracteres del terminal y, de hecho, es compatible con ese carácter (como se puede ver en esta captura de pantalla:

cuando lo inserto en el terminal se imprime esto:\342\234\202 y cuando presionoEntrar Entiendo esto:-bash: ✂: command not found

EDITAR Ejecutar comandos como @J.F. Sebastián preguntó:

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

EDITAR Probé la solución "hackerish" proporcionada por @PauloBu:

Como puede ver, esto causó una tijera (¡sí!), Pero ahora estoy recibiendo un nuevo error. Traceback / error:

+-=============================-+
✂Traceback (most recent call last):
  File "snippets-convert.py", line 357, in <module>
    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

EDITAR Resultados agregados de la corrección de @ PauloBu:

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

EDITAR:

Y su solución para su corrección:

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

Respuestas a la pregunta(4)

Su respuesta a la pregunta