2010-04-01 54 views
0

我们似乎遇到了内容管理系统上的拼写检查程序出现问题,它将部分的We’ve标记为拼写错误。拼写检查器使用aspell,这是从执行cmd.exe的服务器上的脚本调用的,并用它将文件传输到aspell(我知道这是一种冗长的方式,但我们的服务器端编程语言(ColdFusion)不支持写入标准输入可执行文件)。在窗口中使用aspell时出现撇号和其他特殊字符时出现问题

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(克拉是为了防止管道问题,我相信)。

安博泰然后输出:

@(#) 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上运行安博泰0.50.3,但也有可能是配置中的其他差异:

@(#) International Ispell Version 3.1.20 (but really Aspell 0.50.3) 

我想知道如果这个问题是与过程的管道部分或不同的东西在做Aspell配置。有没有人有任何想法?

干杯,

汤姆

回答

0

由于头部被正确输出,我猜想,管部分工作,而且我通过查看配置的aspell或测试设置开始 - - 你在开发服务器和生产环境中运行的是完全相同的东西吗?

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

+0

我已经使用dump config命令检查了两台服务器上的配置,并且它是相同的。引号是使用Unicode字符的智能引号,但检查的文本是相同的 - 文件被传送到aspell,所以我可以在两台服务器上使用相同的文本文件。 – Loftx 2010-04-05 20:29:42

相关问题