Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sublime Text 3, Python 3 and UTF-8 don't like each other

I am trying to parse an HTML page using a Python script I run in Sublime Text. This page contains non-ASCII characters. I kept getting [Decode error - output not utf-8] so I investigated a little and came down to this funny code snippet:

import codecs

#print((1, codecs.decode(codecs.encode('ò', 'utf-8'), 'utf-8')))
print('ò')

which prints [Decode error - output not utf-8]. This error does not happen if I encode an ASCII character. It is not a compile error - the program runs and completes - so I suspect this is a problem with Sublime Text processing the script output, but I can't narrow it down any further. How do I make this work?

like image 691
user1846231 Avatar asked Mar 26 '26 13:03

user1846231


1 Answers

Go ahead and open the command prompt and type in:

c:\>chcp

to check the encoding of the command. By me it's

Active code page: 852

Now open the Python.sublime-build (C:\Users\User\AppData\Roaming\Sublime Text 2\Packages\User) build system and add the encoding:

{
    "cmd": ["c:\\python33\\python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "encoding": "cp852"
} 

This should cut it.

like image 172
nutship Avatar answered Mar 29 '26 03:03

nutship



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!