簡體   English   中英

pspell返回問號( )

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM