
On Wed, May 5, 2010 at 2:47 PM, Phil Mayers <p.mayers@imperial.ac.uk> wrote:
On 05/05/10 13:31, Pet wrote:
On Wed, May 5, 2010 at 2:05 PM, Maarten ter Huurne <maarten@treewalker.org> wrote:
On Wednesday 05 May 2010, Pet wrote:
I'm using Twisted 10.0 and as usually sometime print debug infos with myunicodestr.encode('UTF-8') which are saved to logfile, but since using twisted 10 I'm getting
UnicodeEncodeError: 'ascii' codec can't encode characters...
UTF-8 uses the full 8 bits of a byte, while ASCII only uses 7, so writing Unicode encoded as UTF-8 to an ASCII stream is not valid.
I think recent Python versions are more strict about what is written to stdout/stderr than older versions, it might not be related to Twisted itself. You can specify a different encoding for stdin/out/err by setting the PYTHONIOENCODING environment variable.
Hi Maarten!
Thanks for help! Unfortunately, my Python installation is 2.5.2 and PYTHONIOENCODING is introduced in 2.6
I think this is highly dependent on your OS environment. For example:
Python 2.4.3 (#1, Oct 23 2006, 14:19:47) [GCC 4.1.1 20060525 (Red Hat 4.1.1-1)] o Type "help", "copyright", "credits" or " >>> import sys >>> sys.getdefaultencoding() 'ascii' >>> print unichr(163) £
on python console it works for me, but not in application, if the string to be printed is fetched from db which is utf-8
[pjm3@wildfire ~]$ echo $LANG en_GB.UTF-8
...but:
LANG=C python Python 2.4.3 (#1, Oct 23 2006, 14:19:47) [GCC 4.1.1 20060525 (Red Hat 4.1.1-1)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print unichr(163) Traceback (most recent call last): File "<stdin>", line 1, in ? UnicodeEncodeError: 'ascii' codec can't encode character u'\xa3' in position 0: ordinal not in range(128)
...i.e. here I can just print unicode characters, with nothing particularly special, provided my environment variables are set right.
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python