Php阿拉伯字符未正确连接

时间:2012-12-26 20:10:46

标签: php utf-8

这就是我想要实现的目标:

تلر

这是问题所在:

$a = "ت";
$l = "ﻝ";
$z = "ر";

$word = $a.$l.$z;
echo $word;

打印:

ت‌ل‌ر 

,同时:

echo "تلر";

打印:

تلر

实际上没有空格,但如果你尝试这个代码(记得允许utf-8),你会发现这些字母不会合并。当字母直接组合时,它可以工作。但随着我逐个组合,如:$a.$b. ......他们不会合并。

我有什么想法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

您的第二个单字符是U + FEDD,而تلر中的第二个字符是U + 0644。使用正确的字符,它可以工作:

$a = "ت";
$l = "ل";
$z = "ر";
var_dump("تلر" === $a.$l.$z);

您可能需要查看How to decode Unicode escape sequences like “\u00ed” to proper UTF-8 encoded characters?

答案 1 :(得分:0)

尝试使用此编码而不是utf-8

 <meta http-equiv="Content-Type" content="text/html; charset=windows-1256 "/>

编辑:

最流行的阿拉伯语编码是:

      Windows-1256, ISO 8859-6, and UTF-8.

编辑:  因为它可以工作,你必须将编辑器也设置为windows-1256,如果你从数据库中获取字符串,你必须将数据库的编码设置为windows-1256并且应该可以工作

相关问题