php - 阿拉伯语的 mysql 和 UTF8 问题

标签 php mysql

这可能看起来像 utf8 和阿拉伯语与 MySQL 数据库的类似问题,但我搜索结果并没有找到..

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

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

我不关心它如何在数据库中显示,只要它在 php 页面中正常显示即可, 将 php 页面更改为 utf8 后,添加输入而不是检索输入时,是否显示应有的结果。
但是 在将页面编码转换为 uft8 之前添加的旧数据 显示如下:������

我尝试了很多方法来解决这个问题,比如在 ssh 和 php 中使用 iconvutf8_decode() utf8_encode() .. 和更多但没有工作。

所以我希望您能在这里为我提供解决方案?


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


但还有一个问题::

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

那么有没有办法检查原始编码是什么以便转换或不转换?

最佳答案

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

如:

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

关于php - 阿拉伯语的 mysql 和 UTF8 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21618787/

相关文章:

java - Android - 将参数发送到 php 脚本以在查询中使用它

Mysql从多个存储过程创建一个存储过程

javascript - 选择selectpicker选项后如何选中复选框?

php - 当有单个和多个输入时,如何动态地在 SQL 查询中内爆 'AND'

mysql - 如何在 mysql 列中搜索 json 编码的值?

sql - 如果不在列表中则插入到表中

php - 使用 mysql 跟踪 session 而不是信任服务器?

php - GROUP BY 不能很好地工作

php - 如何回显 li 的单个 css 类?

php - 新的 Laravel 项目抛出 500 错误 : require(): Failed opening required autoload. php