2015-06-21 10 views
0

Я пытался установить 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_checkfalse

Любая идея, как исправить это?

Edit:

При попытке получить длину результатов:

<!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?

ответ

0

Поскольку каждая проверка слово возвращается с теми же результатами, что заставило меня подозревать, что, возможно, значение, которое передается в функцию pspell_suggest поврежден.

что я сделал просто сказал pspell использовать UTF-8:

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

Это решило проблему.

0

Это похоже на проблему с кодировкой. Вы должны использовать UTF-8 для содержимого HTML (проверьте свою страницу <head> и проверьте, задано ли значение encoding, BUT также вы должны заполнить свою страницу содержимым, закодированным в том же UTF-8. Если (что часто может случиться), ваш файл PHP не UTF8, то вы будете иметь рассогласование кодирования и вместо этого.

+0

Эй. Я пробовал это. Посмотрите мой отредактированный ответ, чтобы увидеть HTML, который я использую. Ответ: 'סתם טקסט לבדיקה Массив ([0] => [1] => [2] => [3] => [4] => [5] => [6] = > ) '. Проблема - к сожалению - остается той же – kfirba