题
当我尝试和执行该代码打印出来的阿拉伯语字符串: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
您可能想看看这个太:
其他提示
这可能是必要的,来表示字符集您使用的浏览器 - 我猜它的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 强>
此致
不隶属于 StackOverflow