当我尝试执行此代码以打印出阿拉伯字符串时:print("إضافة");
我得到此输出:إضاÙØ©
. 如果我 utf8_decode() 它我会得到?????
. 我的 apache 配置中有“AddLanguage ar”,但它没有帮助。我如何打印出这个阿拉伯字符串?
问问题
5274 次
5 回答
9
还将您的页面语言设置为 utf8,例如:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
然后看看它是否有效。如果这仍然不起作用,请检查一下,这是使用 PHP 的阿拉伯语语言的完整解决方案:
http://www.ar-php.org/en_index_php_arabic.html
你可能也想看看这个:
于 2010-02-22T07:50:35.760 回答
8
可能有必要向浏览器指出您正在使用哪个字符集——我猜它是 UTF-8。
为了实现这一点,您可以尝试将这部分代码放在脚本的开头,然后再生成任何输出:
header('Content-type: text/html; charset=UTF-8');
[
utf8_decode][1]
将尝试将您的字符串从 UTF-8 解码为 latin1,这不适合阿拉伯字符 - 因此是'?'
字符。
于 2010-02-22T07:53:04.677 回答
1
您可能想要设置
default_charset = "utf-8"
在你的php.ini
. 默认字符集指令指示服务器生成正确的内容类型标头。
您也可以在运行时执行此操作:
ini_set('default_charset', 'utf-8');
于 2010-02-22T07:54:38.620 回答
0
出色地,
第一:在HTML页面的开头添加
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
第二:如果您使用 AJAX 编码数据,则使用encodeURIComponent
第三:您的 PHP 页面的第一行应该是
header('Content-Type: text/html; charset=utf-8');
并使用urldecode解码发送到 PHP 的数据
问候,
于 2013-06-06T18:57:37.877 回答
0
您可能还想检查您的浏览器字体是否支持阿拉伯语。坚持使用 Arial Unicode 和 Times New Roman 等常见字体。
于 2010-02-22T09:23:05.807 回答