This is my code:
print '哈哈'.decode('gb2312').encode('utf-8')
...and it prints:
SyntaxError: Non-ASCII character 'xe5' in file D:zjm_codea.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
How do I print '哈哈'?
Update: When I use the following code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
print '哈哈'
... it prints 鍝堝搱
. That isn't what I wanted to get.
My IDE is Ulipad, is this a bug with the IDE?
Second Update:
This code will print the characters right:
#!/usr/bin/python
# -*- coding: utf-8 -*-
print u'哈哈'.encode('gb2312')
...and when I use this:
#!/usr/bin/python
# -*- coding: utf-8 -*-
a='哈哈'
print a.encode('gb2312')
Traceback (most recent call last):
File "D:zjm_codea.py", line 5, in <module>
print a.encode('gb2312')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
...or...
#!/usr/bin/python
# -*- coding: utf-8 -*-
a='哈哈'
print unicode(a).encode('gb2312')
Traceback (most recent call last):
File "D:zjm_codea.py", line 5, in <module>
print unicode(a).encode('gb2312')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
...it doesn't work. How would I print the variable a
appropriately?
thanks
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…