2012-01-20 42 views
2

以十六进制请我需要阿拉伯文文本转换和从像下面的例子十六进制使用PHP如何阿拉伯文文本转换使用PHP

مرحبا

06450631062D06280627

问候,

生态

+1

说明:输入包含Unicode代码数字作为4位十六进制数字,在以0645开头的示例中代表U + 0645 ARABIC LETTER MEEM。对? –

+0

是的,这是MEEM感谢您的澄清 – user1160621

回答

0

如果你只需要有HTML文档中写的阿拉伯文文本开始生成,我认为最简单的方法是将该序列转换为字符引用,例如, 0645至م。这可以做如下:

<?php 
$str = '06450631062D06280627'; 
for($i = 0; $i < strlen($str)/4; $i++) { 
    echo "&#x", substr($str, 4*$i, 4), ";"; 
} 
?> 
+0

谢谢Jukka,但不是我想要的,我收到获取HTTP URL中以十六进制编码的文本,我需要将它转换为阿拉伯文本并保存在MYsql中,任何想法请 – user1160621

+0

@ user1160621也许在Multibyte Library中有一些有用的东西:http://www.php.net/manual/en/ref.mbstring.php? – TimWolla

-2
bin2hex($str);  // Bin to Hex 
pack("H*", $hexStr); // Hex to Bin 
+0

你读过这个问题吗? – TimWolla

+0

@TimWolla:是的,我有。 – Saxoier

0

我得到一个Unicode字符串用下面的代码。

$str = "Some Hexa String"; 
$replacedString = preg_replace("/\\\\u([0-9abcdef]{4})/", "&#x$1;", $str); 
$unicodeString = mb_convert_encoding($replacedString, 'UTF-8', 'HTML-ENTITIES');