I'm working on a Python script that uses the scissor character (9986 - ✂) and I'm trying to port my code to Mac, but I'm running into this error.
The scissor character shows up fine when run from IDLE (Python 3.2.5 - OS X 10.4.11 iBook G4 PPC) and the code works entirely fine on Ubuntu 13.10, but when I attempt to run this in the terminal I get this error/traceback:
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)
and the code that is giving me the problem:
print ("|\t ",chr(9986),"PySnipt'd",chr(9986),"\t|") 
Doesn't this signal that the terminal doesn't have the capability to display that character? I know this is an old system, but it is currently the only system I have to use. Could the age of the OS is interfering with the program?
I've read over these questions:
- UnicodeEncodeError: 'ascii' codec can't encode character u'\xef' in position 0: ordinal not in range(128) - Different character 
- "UnicodeEncodeError: 'ascii' codec can't encode character" - Using 2.6, so don't know if it applies 
- UnicodeEncodeError: 'ascii' codec can't encode character? - Seems to be a plausible solution to my problem, - .encode('UTF-8'), I don't get the error. However, it displays a character code, not the character I want, and- .decode()just gives me the same error. Not sure if I'm doing this right.
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128) - Not sure if this applies, he's using a GUI, getting input, and all in Greek. 
What's causing this error? Is it the age of the system/OS, the version of Python, or some programming error?
EDIT: This error crops up later with this duplicate issue (just thought I'd add it as it is within the same program and is the same 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)
EDIT:
I went into the terminal character settings and it does in fact support that character (as you can see in this screenshot:

when I insert it into terminal it prints out this: \342\234\202 and when I press Enter I get this: -bash: ✂: command not found
EDIT Ran commands as @J.F. Sebastian asked:
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
EDIT Tried the "hackerish" solution provided by @PauloBu:
As you can see, this caused one (Yay!) scissor, but I am now getting a new 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
EDIT Added results of @PauloBu's fix:
+-=============================-+
|
✂ PySnipt'd 
✂       |
+-=============================-+
EDIT:
And his fix for his fix:
+-=============================-+
✂✂|       PySnipt'd     |
+-=============================-+
 
     
     
     
     
    