加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

无法使用PHP在MYSQL数据库中存储阿拉伯语

发布时间:2020-12-13 17:20:27 所属栏目:PHP教程 来源:网络整理
导读:我一直试图找到过去几个小时的解决方案,但无法这样做.我已经尝试了互联网和本论坛上的每一个可能的解决方案,但似乎没有任何工作.这是问题所在. 我想存储用户将在mysql数据库中的表单的textarea中键入或粘贴的阿拉伯语数据.该网站是阿拉伯语,形式只包含这一个
我一直试图找到过去几个小时的解决方案,但无法这样做.我已经尝试了互联网和本论坛上的每一个可能的解决方案,但似乎没有任何工作.这是问题所在.

我想存储用户将在mysql数据库中的表单的textarea中键入或粘贴的阿拉伯语数据.该网站是阿拉伯语,形式只包含这一个textarea.

重点:

该网站正确显示静态阿拉伯语内容.整个网站都使用utf8字符集.所以这不是问题.

表(主页)和内容字段(内容)都设置为utf8_unicode_ci校对,因此它也不是问题.

表单设置为accept-charset =’utf-8′,这也不是问题.

当我在表格中使用phpMyAdmin插入阿拉伯语文本时,我完全没有任何问题.

事实上,当在网站上检索到表格中的阿拉伯语文本(通过phpMyAdmin输入)时,它完全显示出来.

但是只要阿拉伯数据输入文本区域并发送到DB就可以使用插入查询数据转换成????

我在用

mysql_query("SET NAMES 'utf8'"); 
mysql_query('SET CHARACTER SET utf8');

连接后,这根本不是问题.正如我之前所说,数据可以检索到.我上传了两张图片.证明我的问题.

我真的被困在这里,你可以看到我已经采取了所有可能的步骤来解决这个问题,但这种行为真的很奇怪.请帮忙.

我用来将数据插入db的代码是:

$content=$_POST["content"];
echo $content;
$sql="update home set content='$content'";
$result=mysql_query($sql) or die(mysql_error());

您可以看到第二个echo语句.我添加它来调试问题.数据在此回声中完美显示.我认为这个问题在查询中出现了问题.

解决方法

看起来服务器端的所有代码都正常工作.当浏览器将表单提交回服务器然后数据错误或被错误解释时,似乎发生错误.

1)请确认您已安装Multi-Byte扩展.如果不这样做,则PHP可能无法正确解释浏览器中的字符. http://php.net/manual/en/book.mbstring.php

2)您能否仔细检查浏览器是否真正将页面选为UTF8.浏览器可能不确定页面所在的字符集,但仍然正确显示阿拉伯字符,因为它正在猜测如何显示它们.首先.

在您的HTML中,添加此元标记:

还要在脚本顶部添加此PHP标头:

header(“Content-Type:text / html; charset = UTF-8”);

3)如果这些不起作用,请您在浏览器中查看实际的表单提交,使用Chrome中的开发人员工具或Firefox中的Firebug来查看提交的确切内容.

例如我刚做了一个测试页面,将一些阿拉伯语文本提交到我服务器上的测试页面.在请求中,我可以看到表单被编码为

Content-Length: 61
test=%26%231607%3B%26%231594%3B%26%231594%3B%26%231601%3B&go=

我可以看到将文本分成单个字符

%26
%231607
%3B
%26
%231594
%3B
%26
%231594
%3B%26
%231601
%3B

即阿拉伯字符正在为我编码 – 也许你会看到不同的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读