我们的内容管理系统似乎遇到了拼写检查程序的问题,它将ve
We’ve
部分标记为拼写错误。拼写检查器使用aspell,它从服务器上的脚本调用,该脚本执行cmd.exe并使用它将文件传输到aspell(我知道这是一种冗长的方式,但我们的服务器端编程语言(ColdFusion)不支持写入stdin可执行文件)。
执行以下命令调用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配置中的不同之处有关。有没有人有任何想法?
干杯,
汤姆
答案 0 :(得分:0)
由于标题输出正确,我猜管道部分正在工作,我首先查看aspell配置或测试设置 - 你是否在开发服务器上运行完全相同的东西和生产一个?
我之前看到过(不是特定的)智能引号的问题,它看起来像一个普通的单引号字符,但实际上它是一个Unicode撇号或近引号字符。例如,如果从MS Word或Outlook粘贴文本,则会发生这种情况。如果您在开发服务器上手动输入字符串,则可能有不同的字符串。