SublimePythonTidy icon indicating copy to clipboard operation
SublimePythonTidy copied to clipboard

Problem with utf-8 content in python file

Open naro opened this issue 14 years ago • 2 comments

Let's have this content in new SublimeText window:

# -*- coding: utf-8 -*-
print "Ahoj světe"

Invoking PythonTidy generates this traceback in console:

Traceback (most recent call last):
  File "./sublime_plugin.py", line 282, in run_
  File "./Tidy.py", line 37, in run
    PythonTidy.tidy_up(source, output)
  File "/Users/naro/Library/Application Support/Sublime Text 2/Packages/PythonTidy/PythonTidy/PythonTidy.py", line 4809, in tidy_up
    module = compiler.parse(str(INPUT))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u011b' in position 38: ordinal not in range(128)

For ascii-only files it works fine. Running

python PythonTidy/runner.py test1.py

works as well

naro avatar Oct 01 '11 09:10 naro

This is traceback from real file I'm using. It is slightly different:

Traceback (most recent call last):
  File "./sublime_plugin.py", line 282, in run_
  File "./Tidy.py", line 37, in run
  File "/Users/naro/Library/Application Support/Sublime Text 2/Packages/PythonTidy/PythonTidy/PythonTidy.py", line 4807, in tidy_up
    COMMENTS = Comments()
  File "/Users/naro/Library/Application Support/Sublime Text 2/Packages/PythonTidy/PythonTidy/PythonTidy.py", line 1208, in __init__
    original = original.decode(INPUT.coding)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 42-43: ordinal not in range(128)

naro avatar Oct 01 '11 14:10 naro

This should be fixed by #5

mdornseif avatar May 28 '12 06:05 mdornseif