0

这个问题是在超级用户上提出的,但在 7 天内只有 8 次浏览。Hunspell 知识渊博的人去stackoverflow,因此我在这里重新提出问题。


我正在使用瑞典语词典在命令行中测试 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 识别其输入的特殊字符?

4

1 回答 1

0

通过回显变量$LC_ALL,或者$LANG您可以查看终端上的语言和区域设置。

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

LC_ALL=en_US.ISO8859-15

或者

LANG=ca_ES.cp1252

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

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

于 2012-05-17T09:06:31.297 回答