当我尝试和执行该代码打印出来的阿拉伯语字符串:print("إضافة");我得到这样的输出:إضاÙØ©。如果我utf8_decode()它,我会得到?????。我有“AddLanguage AR”在我的Apache配置,但它并不能帮助。如何打印出这个阿拉伯语字符串?

有帮助吗?

解决方案

另外设置你的页面的语言为utf8例如:

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

和然后看看它是否工作。如果仍然无法正常工作,去检查了这一点,它是用PHP阿拉伯语完整的解决方案:

http://www.ar-php.org/en_index_php_arabic.html

您可能想看看这个太:

http://www.phpclasses.org/browse/package/2875.html

其他提示

这可能是必要的,来表示字符集您使用的浏览器 - 我猜它的UTF-8

为了才达到这一点,你可以尝试把这个代码部分在脚本的开头,产生任何输出前:

header('Content-type: text/html; charset=UTF-8');

,点击 [utf8_decode][1]将尝试您的字符串从UTF-8和latin1,这不适合于阿拉伯字符解码 - 。因此'?'字符

您可能需要设置

default_charset = "utf-8"

在您的php.ini默认字符集指令指示服务器,以产生正确的内容类型标题

您也可以做到在运行时:

ini_set('default_charset', 'utf-8');

您可能还需要检查你的浏览器的字体,如果它有阿拉伯语的支持。坚持如Arial Unicode和Times New Roman字体常见的字体。

那么,

第一:通过添加HTML页的开头

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

第二: 如果使用的是使用AJAX编码数据的 encodeURIComponent方法

第三: 你的PHP页面的第一行应该是

header('Content-Type: text/html; charset=utf-8'); 
利用发送到PHP

和解码数据的 urldecode

此致

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top