hunspell输入中的特殊字符被视为空格

时间:2012-03-20 13:23:55

标签: windows spell-checking command-prompt hunspell

这个问题是超级用户提出的,但在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识别其输入中的特殊字符?

1 个答案:

答案 0 :(得分:0)

通过回显变量$LC_ALL$LANG,您可以查看终端上的语言和语言环境配置。

然后,您可以尝试通过重新定义这些变量将其更改为charset hunspell。例如,您可以设置

LC_ALL=en_US.ISO8859-15

LANG=ca_ES.cp1252

我记得,默认字符集是latin1,但我不确定(我现在不在Linux上)。

尝试这种方法,而不是修改hunspell软件。