这就是我想要实现的目标:
تلر
这是问题所在:
$a = "ت";
$l = "ﻝ";
$z = "ر";
$word = $a.$l.$z;
echo $word;
打印:
تلر
,同时:
echo "تلر";
打印:
تلر
实际上没有空格,但如果你尝试这个代码(记得允许utf-8),你会发现这些字母不会合并。当字母直接组合时,它可以工作。但随着我逐个组合,如:$a.$b.
......他们不会合并。
我有什么想法可以解决这个问题吗?
答案 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
并且应该可以工作