【发布时间】:2015-03-30 12:37:08
【问题描述】:
我的代码中的问题如下所示:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
deg = u'°'
print deg
print '40%s N, 100%s W' % (deg, deg)
codelim = raw_input('40%s N, 100%s W)? ' % (deg, deg))
我正在尝试为纬度/经度字符串中的分隔符生成 raw_input 提示,并且提示应该包含此类字符串的示例。 print deg 和 print '40%s N, 100%s W' % (deg, deg) 都可以正常工作——它们分别返回“°”和“40° N,100° W”——但 raw_input 步骤每次都失败。我得到的错误如下:
Traceback (most recent call last):
File "C:\Users\[rest of the path]\scratch.py", line 5, in <module>
x = raw_input(' %s W")? ' % (deg))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb0' in position 1:
ordinal not in range(128)
我想我会按照here 的指示通过添加编码标头来解决问题(实际上确实可以打印学位符号),但我仍然会尽快收到 Unicode 错误因为我向raw_input 添加了一个安全字符串。这是怎么回事?
【问题讨论】:
标签: python python-2.7 character-encoding python-unicode