3

これは私が達成したいことです:

تلر

これが問題です:

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

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

版画:

ت‌ل‌ر 

その間:

echo "تلر";

プリント:

تلر

実際には空白はありませんが、このコードを試してみると (utf-8 を許可することを忘れないでください)、文字が結合されないことがわかります。文字を直接組み合わせると機能します。しかし、次のように 1 つずつ結合すると: $a.$b.... それらは結合しません。

これを解決する方法はありますか?

4

2 に答える 2

2

2番目の単一文字はU+FEDDで、の2番目の文字はU+0644تلرです。適切な文字を使用すると、機能します。

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

「\u00ed」のようなUnicodeエスケープシーケンスを適切なUTF-8エンコード文字にデコードする方法をご覧ください

于 2012-12-26T21:28:09.823 に答える
0

utf-8 の代わりにこのエンコーディングを作成してみてください

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

編集:

アラビア語の最も一般的なエンコーディングは次のとおりです。

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

EDIT:それが機能するためには、エディタもエンコーディングをにwindows-1256設定する必要があり、データベースから文字列を取得している場合は、データベースのエンコーディングをに設定する必要があり、動作するwindows-1256はずです

于 2012-12-26T21:11:55.127 に答える