a_string = 'à'.encode ('utf-8')
print (a_string)
b_string = '₩'.encode ('utf-8')
print (b_string)
a_bytes = a_string.decode ('utf-8')
print (a_bytes)
b_bytes = b_string.decode ('utf-8') # This line gives error: Character maps to undefined
print (b_bytes)
输出是:
我做错了什么或者这是Python 3.5的问题?
输出:
import locale
print (locale.getdefaultlocale ())
是:
('en_US', 'cp1252')
Python版本是3.5.1
[编辑]
这确实是一个Windows语言环境问题。 一切都在Linux上运行良好。
答案 0 :(得分:1)
您的终端设置为编码cp1252
。符号à
和₩
不是受支持的字符。
将您的shell设置为utf-8是这样的:
export LC_ALL=UTF-8
修改由于您使用的是Windows,请参阅this answer如何更改Windows cmd中的编码