mysql& UTF8阿拉伯语问题

时间:2014-02-07 03:33:31

标签: php mysql

对于utf8和使用MySQL数据库的阿拉伯语而言,这可能看起来像是类似的问题,但是我搜索了结果并找不到..

我的数据库endocing设置为utf8_general_ci, 我的php分页默认编码为ansi 数据库中的阿拉伯语显示为:ãÌÑÈ

但是我改成了utf8, 如果我向数据库添加新输入,数据库中的阿拉伯语显示为:زين

我不在乎它如何显示indatabase,只要它在php页面中正常显示, 将php页面更改为utf8后,添加输入而不是重新输入,如果显示结果则应该如此 但在将页面编码转换为uft8 之前添加的旧数据显示如下:

我尝试了很多修复方法,比如在ssh和php中使用iconvutf8_decode() utf8_encode() ..以及更多但没有效果。

所以我希望你能在这里找到解决方案吗?


更新:: 主要目标是通过从旧编码'windows-1256'中的php页面检索数据而不是从ssh更新它来解决的。


但还有一个问题::

我有一些插入为'windows-1256'的文本和其他插入为'utf-8'的文本所以现在windows编码转换为utf-8并且工作正常,但是原来的utf-8已被转换还有一些不可读的东西,在php中使用iconv,使用旧页面编码..

那么有没有办法检查原始编码是否为原始转换?

1 个答案:

答案 0 :(得分:0)

在运行任何其他查询之前,尝试在创建数据库连接后运行查询set name utf8

如:

$dbh = new PDO('mysql:dbname='.DB_NAME.';host='.DB_HOST, DB_USER, DB_PASSWORD);
$dbh->exec('set names utf8');