我尝试从不同的列表项创建新句子。当我用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字符。此外,在将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')

10-08 01:00