Printing unicode objects requires Python to guess the output encoding and encoding of Unicode code pages for that encoding.
On your VPS server, the output encoding looks like ASCII, which is the default when no encoding can be detected (for example, when using a channel). If you run the same code on the terminal, the final encoding is usually detected and the encoding ends.
The solution should be explicitly encoded depending on your script requirements.
Read the Python Unicode HOWTO to understand how Python performs this discovery and why it should be encoded for you.
Martijn pieters
source share