必要条件:hunspell
およびphp5
。
bashからのテストコード:
user@host ~/ $ echo 'sagadījās' | hunspell -d lv_LV,en_US
Hunspell 1.2.14
+ sagadīties
-正しく動作します。
テストコード(test.php):
$encoding = "lv_LV.utf-8";
setlocale(LC_CTYPE, $encoding); // test
putenv('LANG='.$encoding); // and another test
$raw_response = shell_exec("LANG=$encoding; echo 'sagadījās' | hunspell -d lv_LV,en_US");
echo $raw_response;
戻り値
Hunspell 1.2.14
& sagad 5 0: tagad, sagad?ties, sagaudo, sagand?, sagar?o
*
*
スクリーンショット(無効な文字を含むコードを投稿できませんでした):
shell_execがutf-8を正しく処理できないようです。または、追加のエンコード/デコードが必要な場合がありますか?
編集:有効なデータを取得するには、en_US.utf-8を使用する必要がありました。