3

当我尝试执行此代码以打印出阿拉伯字符串时:print("إضافة"); 我得到此输出:إضاÙØ©. 如果我 utf8_decode() 它我会得到?????. 我的 apache 配置中有“AddLanguage ar”,但它没有帮助。我如何打印出这个阿拉伯字符串?

4

5 回答 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

你可能也想看看这个:

http://www.phpclasses.org/browse/package/2875.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 回答