Python mmh3:UnicodeEncodeError:“ascii”编解码器无法对位置014中的字符进行编码:序号不在范围内(128)

2024-09-30 03:26:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我在数据库中查询笑话,并返回Pythonstrs。我想将它们用作Unicode对象,所以我这样做了:

joke = unicode(joke, 'utf-8')

这对我所有的数据库结果都有效,不会引起任何问题。在

然后我试着把每个笑话中的每一个单词拼凑成这样:

^{pr2}$

我回来了:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-14: ordinal not in range(128)

我检查了文本,它是日语的。这是否意味着我应该在散列之前删除所有非ascii字符,还是有更好的方法来处理这个问题?在

谢谢!在


Tags: 对象in数据库asciiunicode单词canutf
1条回答
网友
1楼 · 发布于 2024-09-30 03:26:07

^{cd1>}函数似乎需要^{{cd2>}或^{{cd3>}可转换文本。

最简单的方法(如果您完全处理^{cd4>}对象),就是将它们转换为^{{cd2>}如您所调用的^{{cd6>}:

result = mmh3.hash(joke.encode('UTF-8'))

相关问题 更多 >

    热门问题