这个问题是超级用户提出的,但在7天内只获得了8次观看。 Hunspell知识渊博的人会去堆栈溢出,因此我在这里重新提出问题。
我正在使用瑞典语字典在命令行中测试hunspell。 交互模式下的输入会在拼写前用空格替换所有特殊字符(例如åäö)。
Hunspell 1.3.2
sjögräs
& sj 15 0: SJ, aj, dj, sk, s, j, sej, sju, sjö, sjå, sa, se, ej, st, si
& gr 15 3: ge, g, r, ger, gir, gro, gör, grå, går, gry, er, nr, dr, go, kr
*
sj gr s
& sj 15 0: SJ, aj, dj, sk, s, j, sej, sju, sjö, sjå, sa, se, ej, st, si
& gr 15 3: ge, g, r, ger, gir, gro, gör, grå, går, gry, er, nr, dr, go, kr
*
如您所见,提示的编码正常,在输入和输出中都显示åä和ö。
管道给出了相同的结果:
echo sjögräs | hunspell -d sv_SE
我尝试为hunspell提供不同的选项,包括-i UTF-8
,-i UTF-16
,并保留aff文件的SET ISO8859-1
。没有任何效果。
同样的事情发生在法国人身上:
C:\Users\gauthier>echo résultat | hunspell -d fr-moderne
Hunspell 1.3.2
*
& sultat 2 2: sultan, rAcsultat
另外还有输出问题。
我在MinGW中编译了hunspell并将生成的所需文件移到我路径的某个地方,但我不认为这些信息非常相关。
如何让hunspell识别其输入中的特殊字符?
答案 0 :(得分:0)
通过回显变量$LC_ALL
或$LANG
,您可以查看终端上的语言和语言环境配置。
然后,您可以尝试通过重新定义这些变量将其更改为charset hunspell
。例如,您可以设置
LC_ALL=en_US.ISO8859-15
或
LANG=ca_ES.cp1252
我记得,默认字符集是latin1,但我不确定(我现在不在Linux上)。
尝试这种方法,而不是修改hunspell软件。