[英]pspell returns question marks(�)
我嘗試使用以下命令在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
我之所以使用view,是因為我認為該網頁可能需要設置一些字符集,因此我使用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';
出於某種原因,對於任何給定的單詞,它都返回“ pspell_check
”,這意味着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字典檢索數據時遇到問題?
這看起來像編碼問題。 您應該對HTML內容使用UTF-8
(檢查頁面<head>
並檢查是否設置了加密, 但是還必須使用相同的UTF-8
編碼的內容填充頁面。如果(通常會發生) PHP文件不是UTF8,那么您將
編碼不匹配的
。
由於返回的每個單詞檢查都具有相同的結果,因此我懷疑可能傳遞給pspell_suggest
函數的值已損壞。
我所做的只是告訴pspell
使用UTF-8:
$t = pspell_new('he', "", "", "utf-8");
這樣就解決了問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.