阿拉伯文输出php mysql utf-8转换问题

时间:2013-12-22 16:05:33

标签: php mysql utf-8 character-encoding arabic

我正在将数据从Oracle数据库导入MySQL表。

我已将MySQL表格字符集设置为utf8_general_ci,并将字段列值设置为utf-8的数据库和表格名称。

现在,当我获取结果时,它会打印出来,就像? sign

一样
مرحبا العال� - 5

我在列中的utf值为مرحبا العالÙ

当我将此字符串与Oracle字符串进行比较时,它显示正确的值 - Oracle数据库的精确副本,并在那里显示阿拉伯语中的完美字符串。

我已经用utf-8设置了我的html元素

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

如果我按如下方式设置mysql查询,则会显示垃圾字符:

mysql_query("SET NAMES utf8;");
mysql_query("SET CHARACTER_SET utf8;");

跟踪堆栈和其他网站上发现的所有内容,但仍然出现错误。

请帮忙!

2 个答案:

答案 0 :(得分:6)

您是否在没有BOM的情况下保存了php文件?如果没有,试试吧。 Potential issues with the UTF-8 BOM


进一步尝试使用'utf-8&#39;使用单引号而不使用SET CHARACTER_SET

mysql_query("SET NAMES 'utf8'");

并在html文档标题中使用charset utf-8:

header("content-type: text/html; charset=utf-8");

答案 1 :(得分:0)

使用pdo你应该有这个

$_dbhandler = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8"));