在Windows中使用aspell时出现撇号和其他特殊字符的问题

时间:2010-04-01 11:19:38

标签: windows pipe spell-checking aspell

我们的内容管理系统似乎遇到了拼写检查程序的问题,它将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配置中的不同之处有关。有没有人有任何想法?

干杯,

汤姆

1 个答案:

答案 0 :(得分:0)

由于标题输出正确,我猜管道部分正在工作,我首先查看aspell配置或测试设置 - 你是否在开发服务器上运行完全相同的东西和生产一个?

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