里,raw_input没有拿到swedify()产生,这给了我一个编码转换后的字符串我意识到的错误,这就是为什么我要swedify()开始。 这里就是我想要做的事:Python的 - 编码字符串 - 瑞典快报
elif cmd in ('help', 'hjälp', 'info'):
buffert += 'Just nu är programmet relativt begränsat,\nDe funktioner du har att använda är:\n'
buffert += ' * historik :: skriver ut all din historik\n'
buffert += ' * ändra <något> :: ändrar något i databasen, följande finns att ändra:\n'
print swedify(buffert)
这一切正常,它输出的字符瑞典,就像我希望他们到控制台。 但是当我尝试(在相同的代码,同\ X 13值,打印这片:
core['goalDistance'] = raw_input(swedify('Hur långt i kilometer är ditt mål: '))
core['goalTime'] = raw_input(swedify('Vad är ditt mål i minuter att springa ' + core['goalDistance'] + 'km på: '))
然后我得到这样的:
C:\Users\Anon>python löp.py
Traceback (most recent call last):
File "l÷p.py", line 92, in <module>
core['goalDistance'] = raw_input(swedify('Hur långt i kilometer är ditt mål: '))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe5' in position 5: ordinal not in range(128)
现在我周围的一派, 。发现了一些“解决方案”,但他们没有工作,有些伤心,我要创建一个批处理脚本,在开始执行CHCP ???,但IMO不是一个干净的解决方案
这里是swedify:
def swedify(inp):
try:
return inp.decode('utf-8')
except:
return '(!Dec:) ' + str(inp)
个
如何获取到的raw_input读取swedify我的返回值的任何解决方案()? 我从编码试图导入好转getencoder,getdecoder和其他人,但没有。
当我在swedify中忽略瑞典提示符下的'raw_input'时,它工作正常。 –
@ Ray-Toal你正在使用哪个python版本?另外,你的意思是当你这样做的时候:raw_input('Hurlāngi kilometreärdittmål:')因为这对我很有用,但是随后我在控制台中得到格式错误的字符,这取决于我运行我的代码的机器我试图找到一种通用的方法将控制台输出到控制台(使用不同的操作系统,语言和本地化)。 – Torxed
我测试过除去swedify调用,并且它的工作原始输入。注意在我的机器上,我不得不在开始时添加这个来正确地解析脚本:'#coding = utf-8'可能会帮助其他人。 – Lynch