pspell返回问号( )

时间:2015-06-21 16:55:21

标签: php ubuntu aspell pspell

我尝试使用以下命令在Ubuntu可信分发版上安装pspell:

sudo apt-get install libpspell-dev sudo apt-get install php5-pspell sudo apt-get install aspell-he

由于在安装过程中没有返回任何错误,因此该过程似乎已成功。

然而,当我尝试这个时,我会得到一系列问号( ):

pspell_config_create("he");
$t = pspell_new('he');

$suggestions = pspell_suggest($t, 'דבל');


return view('master', compact('suggestions')); 
// the above line can be swapped with"
// print_r($suggestions);
// and the result stays the same

我使用视图的原因是因为我认为网页可能需要设置一些字符集,所以我使用HTML5文档结构来实现,但结果保持不变。

我的HTML标记:

<!doctype html>
<html lang="he">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    סתם טקסט לבדיקה
    <?php print_r($suggestions); ?>
</body>
</html>

从那里返回结果:

סתם טקסט לבדיקה Array ( [0] => � [1] => � [2] => � [3] => � [4] => � [5] => � [6] => � )

我还尝试了另一个测试:

return pspell_check($t, 'הגדא') ? 'there is' : 'nope';

出于某种原因,对于任何给定的单词,它返回“nope”,这意味着pspell_check返回false

知道如何解决这个问题吗?

编辑:

尝试检索结果的长度时:

<!doctype html>
<html lang="he">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
@foreach($suggestions as $suggestion)
    {{ strlen($suggestion) }} <br>
@endforeach
</body>
</html>

结果是:

1 
1 
1 
1 
1 
1 
1 

这意味着从pspell_suggest方法返回的结果可能在从aspell字典中检索数据时遇到问题?

2 个答案:

答案 0 :(得分:0)

这看起来像编码问题。您应该将UTF-8用于HTML内容(请检查您的页面<head>并检查您是否设置了加密,也必须使用编码在同一个内容中的内容填充您的网页{ {1}}。如果(通常会发生)您的PHP文件不是UTF8,那么您将会出现编码不匹配和UTF-8

答案 1 :(得分:0)

由于每个单词检查都返回相同的结果,因此我怀疑传递给pspell_suggest函数的值可能已损坏。

我所做的只是告诉pspell使用UTF-8:

$t = pspell_new('he', "", "", "utf-8");

这解决了这个问题。