当我尝试执行此代码以打印出阿拉伯字符串时:print("إضافة");
我得到此输出:إضاÙØ©
。如果我utf8_decode()它我将获得?????
。我的apache配置中有“AddLanguage ar”但它没有帮助。如何打印出这个阿拉伯字符串?
答案 0 :(得分:9)
还将您的页面语言设置为utf8,例如:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
然后看看它是否奏效。如果仍然不起作用,那就去看看,这是使用PHP的阿拉伯语的完整解决方案:
http://www.ar-php.org/en_index_php_arabic.html
您也可以查看以下内容:
答案 1 :(得分:8)
可能需要向浏览器表明您使用的是哪个字符集 - 我猜它是UTF-8。
为了实现这一点,您可以尝试在生成任何输出之前将这部分代码放在脚本的开头:
header('Content-type: text/html; charset=UTF-8');
[
utf8_decode ][1]
会尝试将您的字符串从UTF-8解码为latin1,这不适合阿拉伯字符 - 因此'?'
个字符。
答案 2 :(得分:1)
您可能想要设置
default_charset = "utf-8"
在php.ini
中。 Default charset指令指示服务器生成正确的内容类型标头。
您也可以在运行时执行此操作:
ini_set('default_charset', 'utf-8');
答案 3 :(得分:0)
如果支持阿拉伯语,您可能还需要检查浏览器字体。坚持常用字体,如Arial Unicode和Times New Roman。
答案 4 :(得分:0)
那么,
首先:在HTML页面的开头添加
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
第二: 如果您使用 encodeURIComponent
使用AJAX编码数据第三: PHP页面的第一行应该是
header('Content-Type: text/html; charset=utf-8');
使用 urldecode
解码发送给PHP的数据此致