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%依赖