2017-04-30 1 views
0

OSHでCyHunspellとPython 3.6(IDLE)を使用して、単語のスペルが正しいかどうかを確認します。それはほとんどの言葉のために働くが、それがäのようなドイツのウムラウトを持っているかどうかは分からない。だから私はエンコードが問題かもしれないと思う。私は既にhereからLibreOfficeのものがISO8859-1であるので、いくつかの辞書を試しました。私はthis one for Sublimeを試しましたが、これはUTF-8ですが、どちらもうまくいきません。また、LibreOfficeファイルをISO8859-1に変換しますが、それでも同じ動作です。Hunspell(Python 3)ウムラウトを扱う方法

マイコード:

import os 
from hunspell import Hunspell 
hunspell_path = os.path.dirname(os.path.abspath(__file__)) + "/dictionaries" 
h = Hunspell("de_DE_utf8", hunspell_data_dir=hunspell_path) 
print(h.spell("Beispiel")) # TRUE - should be TRUE 
print(h.spell("überall")) # FALSE - should be TRUE 
print(h.spell("über")) # TRUE - should be TRUE 

私は理解していない何が "ユーバーが" TRUEであるということです。

すべての3つの単語は、「de_DE_utf8.dic」にあります。

beispiel/EPSozm 
beispiel/hke 
Beispiel/EPSmij 
überall 
Über/hij 
über/Ske 

私はこの問題を解決しようとすることができるものの任意のアイデア?私はUTF-8とPythonに関するいくつかの情報を他の質問で見つけましたが、しばしばファイルを読むことについてでした。

答えて

0

私は試しましたが、別の辞書で: https://extensions.libreoffice.org/extensions/german-de-de-frami-dictionaries これはうまく動作しているようです。 Ubuntu 16.04でPython 3.5を試してみました。

import os 
from hunspell import Hunspell 

dict_path = ..... 
h = Hunspell("de_DE_frami", hunspell_data_dir=dict_path) 
print(h.spell("Beispiel")) 
print(h.spell("über")) 
print(h.spell("überall")) 
print(h.spell("Über")) 
True 
True 
True 
True 
関連する問題