gpt4 book ai didi

python - Pyenchant 搞乱了外国角色

转载 作者:行者123 更新时间:2023-12-01 05:56:15 25 4
gpt4 key购买 nike

Pyenchant 弄乱了外来字符并且拼写检查失败。我的女朋友是德国人,所以“häßlich”这个词是一个真正的德语单词,我也使用不同的拼写检查服务检查了这个单词。

脚本文件编码为 ANSI 或 UTF-8。我也尝试过将单词编码和解码为不同类型的字符编码。

<小时/>
#!/usr/bin/python
# -*- coding: utf-8 -*-

# Python bindings for the enchant spellcheck
import enchant

# Enchant dictionary
enchantdict = enchant.Dict("de_DE")

# Define german word for "ugly"
word = "häßlich"

# Print the original word and the spellchecked version of it
print word, "=", enchantdict.check(word)

输出结果如下:h├ñ├ςlich = False

<小时/>

此外,如果我将脚本编码更改为纯 ANSI,这就是我得到的结果:

hõ¯lich =
** (python.exe:1096): CRITICAL **: enchant_dict_check: assertion `g_utf8_validate(word, len, NULL)' failed
Traceback (most recent call last):
File "C:\Temp\koe.py", line 14, in <module>
print word, "=", enchantdict.check(word)
File "C:\Python27\lib\site-packages\enchant\__init__.py", line 577, in check
self._raise_error()
File "C:\Python27\lib\site-packages\enchant\__init__.py", line 551, in _raise_
error
raise eclass(default)
enchant.errors.Error: Unspecified Error
<小时/>

我正在使用:pyenchant-1.6.5.win32.exepython-2.7.3.msiWindows 7

<小时/>

...如果您有更好的拼写检查器,请告诉我,我会测试一下:)

最佳答案

Python 中有两种类型的字符串:字节字符串和 Unicode 字符串,您需要在字符串前面加上“u”才能使其成为 Unicode 字符串,这一事实让您感到困惑:

word = u"häßlich"

还有häßlich is the old spelling of hässlich (后者在字典中,将作为建议返回)。如果您希望将 häßlich 视为拼写正确,您可以将 häßlich 添加到您的个人拼写正确单词列表中。

enchantdict.add(word)

关于python - Pyenchant 搞乱了外国角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12499166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com