0

我们的内容管理系统上的拼写检查器似乎存在问题,它将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 配置中的其他问题有关。有没有人有任何想法?

干杯,

汤姆

4

1 回答 1

0

由于标头输出正确,我猜管道部分正在工作,我将从查看 aspell 配置或测试设置开始——你在开发服务器和生产服务器上运行完全相同的东西吗一?

我以前见过智能引号的问题(不是特别拼写),它看起来像一个普通的单引号字符,但实际上它是一个 Unicode 撇号或右引号字符。例如,如果从 MS Word 或 Outlook 粘贴文本,就会发生这种情况。如果您在开发服务器上手动输入字符串,您可能有不同的字符串。

于 2010-04-01T11:59:54.423 回答