我尝试从不同的列表项创建新句子。当我用 unicode 打印它时出现错误。 我可以正常打印(没有 unicode)。当我尝试将其发布到网站时,出现了同样的错误。我认为如果我可以用 unicode 修复它,当我将它发布到网站时它就会起作用。
p=['Bu', 'Şu']
k=['yazı','makale']
t=['hoş','ilgiç']
connect='%s %s %s'%(p[randint(0,len(p)-1)],k[randint(0,len(k)-1)],t[randint(0,len(t)-1)])
print unicode(connect)
And the output is :
Error: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 0: ordinal not in range(128)
最佳答案
首先,您应该在脚本顶部放置 # -*- coding: utf-8 -*-
以便能够在脚本中使用非 ascii 字符。此外,将 decode str 打印到 unicode 将解决您的问题。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from random import randint
p=['Bu', 'şu']
k=['yazı','makale']
t=['hoş','ilginç']
connect='%s %s %s'%(p[randint(0,len(p)-1)],k[randint(0,len(k)-1)],t[randint(0,len(t)-1)])
print connect.decode('utf-8')
关于python - 土耳其语字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26861593/