我们的内容管理系统上的拼写检查器似乎存在问题,它将ve
部分标记We’ve
为拼写错误。拼写检查器使用从服务器上的脚本调用的 aspell,该脚本执行 cmd.exe 并使用它将文件通过管道传输到 aspell(我知道这是一种冗长的方式,但我们的服务器端编程语言(ColdFusion)不支持写入标准输入以获取可执行文件)。
通过执行以下命令调用 Aspell:
c:\windows\system32\cmd.exe /c type d:\path_to_file\file.txt | "C:\Program Files\Aspell\bin\aspell" --lang=en -a
其中file.txt
包含要拼写的文本,例如^Oh have We’ve
(添加克拉是为了防止管道问题,我相信)。
Aspell 然后输出:
@(#) International Ispell Version 3.1.20 (but really Aspell 0.50.3)
*
*
*
& ve 62 12: vie, voe, V, v, veg, vet, Be, Ce, be, Ev, E, e, vex, VA, VI, Va, Vi, vi, we, VD, VF, VG, VJ, VP, VT, Vt, vb, vs, DE, De, Fe, GE, Ge, He, IE, Le, ME, Me, NE, Ne, OE, PE, Re, SE, Se, Te, Xe, he, me, re, ye, Ave, Eve, Ive, ave, eve, VAR, var, veer, vier, view, vow
但是,我们有一个开发站点,具有相同版本的 Aspell,并且当使用相同的文件时,它的输出没有拼写错误。两台服务器都在 Windows server 2003 上运行 Aspell 0.50.3,但配置可能存在其他差异:
@(#) International Ispell Version 3.1.20 (but really Aspell 0.50.3)
我想知道问题是否与流程的管道部分或 Aspell 配置中的其他问题有关。有没有人有任何想法?
干杯,
汤姆