Php 插入阿拉伯文文本

Php 插入阿拉伯文文本,php,mysql,arabic,Php,Mysql,Arabic,我正在尝试将阿拉伯语文本存储到表中,我搜索了很多,但没有找到适合我的解决方案,因此我得到了以下结果: $en = "OK"; $ar = "حسناً"; $link->query("INSERT INTO words (en,ar) VALUES ($en,$ar)"); 问题是当我插入它时,阿拉伯文本看起来像ØØناÙè,我的表的排序规则和MySQL的排序规则是utf8\U general\U ci,我的数据库也是如此,我还有MySQL\U查询(“设置名称'utf8'”;mysq

我正在尝试将阿拉伯语文本存储到表中,我搜索了很多,但没有找到适合我的解决方案,因此我得到了以下结果:

$en = "OK";
$ar = "حسناً";
$link->query("INSERT INTO words (en,ar) VALUES ($en,$ar)");

问题是当我插入它时,阿拉伯文本看起来像
ØØناÙè
,我的表的排序规则和MySQL的排序规则是
utf8\U general\U ci
,我的数据库也是如此,我还有
MySQL\U查询(“设置名称'utf8'”;mysql_查询('SET CHARACTER SET utf8'),但它不起作用。

首先是数据库、表和列。查看是否设置了
utf8
utf8\u-general\u-ci
utf8\u-unicode\u-ci

此外,连接排序规则为:utf8\u general\u ci

在PHP中,在与mysqli连接后,我发布以下命令:

$conn->query("SET NAMES 'utf8'");
并且网页输出总是阻塞:

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

我最近也遇到了同样的问题

这里有几点建议:

  • 所有属性都必须设置为ut8(排序规则与字符集不同)
  • 将文档另存为UTF-8(如果您使用的是Notepad++,则其格式为->转换为UFT-8)
  • PHP和HTML中的标题都应设置为UTF-8(HTML:
    和PHP:
    标题('Content-Type:text/HTML;charset=UTF-8');
  • 连接到数据库后,也在那里设置字符集ti UTF-8,如下所示:
    $link->set_字符集(“utf8”);
    (连接后直接设置)
  • 另外,请确保将数据库和表设置为UTF-8,您可以这样做:
ALTER数据库数据库名称字符集utf8 COLLATE utf8\u unicode\u ci;
ALTER TABLE tablename转换为字符集utf8 COLLATE utf8\U unicode\U ci;


请记住,所有内容都需要设置为UFT-8字符码,否则它将插入“Ø-Ø-ناÙÙ”之类的内容。希望这有所帮助!

以下是一个对我有效的解决方案:

  • 创建数据库时,请为以下内容选择排序规则:
    utf8\u unicode\u ci

  • 从php连接到数据库时,请使用以下字符集:

    $dsn = "mysql:host=localhost;dbname=record;charset=utf8";
    

  • @MariM All answers的可能副本对我不起作用他们都是
    utf8\u general\u ci
    ,我真的不知道问题出在哪里
    header('Content-Type:text/html;charset=utf-8');
    已经解决了我的问题,谢谢。
    header('Content-Type:text/html;charset=utf-8'));
    已经解决了我的问题,谢谢。很高兴能提供帮助!如果有帮助,请不要忘记将答案标记为正确:)我可以做些什么来更改表列数据中的文本吗?我已经输入了另一个表中的数据?如果数据已经插入了一个不正确的编码,修复它并不容易。最好的方法是重新插入或更新数据。已经有一些工具可以强制UTF8,但是没有一个可以100%依赖