我试着把希伯来语单词拆分成字母,得到相应符号的索引。我已经设置了UTF-8头并检查了文件的编码是否为UTF-8。但是由于某些原因,PHP无法对符号进行正确的比较,并且没有返回所需的符号ID,而如果我输出$text数组,它会很好地输出它。我有一系列希伯来字母:
$id_symbols = array(
280=>'×â¬',
281=>'×Ö¼â¬',
282=>'×â¬',
283=>'×â¬',
284=>'×â¬',
285=>'×â¬',
286=>'×â¬',
287=>'×â¬',
288=>'×â¬',
289=>'×â¬',
290=>'×â¬',
291=>'×Ö¼â¬',
292=>'×â¬',
293=>'×Ö¼â¬',
294=>'×â¬',
295=>'×â¬',
296=>'×â¬',
297=>'×â¬',
298=>'× â¬',
299=>'×â¬',
300=>'סâ¬',
301=>'×¢â¬',
302=>'פּâ¬',
303=>'פâ¬',
304=>'×£â¬',
305=>'צâ¬',
306=>'×¥â¬',
307=>'קâ¬',
308=>'רâ¬',
309=>'ש×â¬',
310=>'ש×â¬',
311=>'תּâ¬',
312=>'תâ¬',
);
我向这样的页面发送post请求:
header('Content-type: text/html; charset=utf-8');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://pr.animizer.net/word-api.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
"api_key=some_key&text=××××&font=arial&font_size=30&fore_color=000000&back_color=FFFFFF&template=1,2,3&speed=4");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
exit($server_output);
我收到了一个邮寄请求,我正试图获得每个对应希伯来文字母的钥匙:
function mb_str_split($string) {
$strlen = mb_strlen($string);
while ($strlen) {
$array[] = mb_substr($string,0,1,"UTF-8");
$string = mb_substr($string,1,$strlen,"UTF-8");
$strlen = mb_strlen($string);
}
return $array;
}
$text = mb_str_split($_POST['text']); //splitting text into symbols
foreach($text as $t){
foreach($id_symbols as $key=>$value){
if($value == $t){
$word[] = $key;
}
}
}
print_r($word);
输出为
Array
(
)
P.S.试图在相同的文件中以相同的方式输出俄语字母,效果很好。看起来问题不在于编码