CLD编码问题

2024-04-23 15:13:58 发布

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

在Windows上安装了一些issuesChrome Compact语言检测库之后,我从this easy_install.安装了CLD

我现在可以使用CLD了,但是遇到了一些编码问题。在

背景

将Tweets放入python脚本中,去掉标签和链接后,将它们传递给CLD以检测语言。
以下是我的代码的简化版本:

s = "I am a tweet from Twitter"
clean_s = s.encode('utf-8')
lan = cld.detect(clean_s, pickSummaryLanguage=True, removeWeakMatches=True)

问题

5次中有4次,这是按预期工作的(得到关于它是什么语言的响应)。在

但是,我总是出现这样的错误:

UnicodeEncodeError: 'charmap' codec can't encode character u'\u2019' in position 15: character maps to undefined

我认为:

"You must provide CLD clean (interchange-valid) UTF-8, so any encoding issues must be sorted out before-hand."

但是,我以为我的声明中包含了这个,可以编码成UTF8?在

我假设我需要确保向CLD传递一个字符串,该字符串保留阿拉伯语、亚洲等语言的字体

这是我的第一个python项目,所以这可能是一个新手的错误。有谁能指出我的错误和如何改正?在

如果我需要收集更多信息,请在评论中告诉我,我会编辑我的Q来提供更多信息。在

编辑 如果有帮助,here is my rookie code(减少到复制问题)。 我运行的是python2.72bit。在

运行这段代码,一段时间后,我get this error。 如果我没有正确执行错误报告,请告诉我。在

^{pr2}$

Tags: 字符串代码clean语言信息true编辑编码
1条回答
网友
1楼 · 发布于 2024-04-23 15:13:58

看来你在打印声明上失败了,对吧?这意味着Python无法将unicode字符串编码成它认为控制台的stdout编码方式(“printsys.getdefaultencoding()"). 在

如果python对终端的期望是错误的,可以设置env var(“export PYTHONIOENCODING=UTF-8”),它会将打印的字符串编码为UTF-8。或者,在打印之前,您可以对终端期望的任何字符集进行编码(很可能必须忽略/替换错误,以避免像您所点击的那样的异常)。。。在

相关问题 更多 >