过去几个小时我一直在努力寻找解决方案,但无法做到。我在互联网和这个论坛上尝试了所有可能的解决方案,但似乎没有任何效果。这就是问题所在。
我想存储用户将在 mysql 数据库的表单文本区域中键入或粘贴的阿拉伯语数据。该网站是阿拉伯文的,表格只包含这一个文本区域。
要点:
该网站正确显示静态阿拉伯语内容。整个网站都使用 utf8 字符集。所以这不是问题。
表(home)和内容字段(内容)都设置为 utf8_unicode_ci 排序规则,所以这也不是问题。
表单设置为 accept-charset='utf-8' 所以这也不是问题。
当我在表格中使用 phpMyAdmin 插入阿拉伯文本时,我完全没有任何问题。
事实上,当在网站上检索到表格中的阿拉伯文本(通过 phpMyAdmin 输入)时,它会完美显示。
但是,只要在文本区域中输入阿拉伯数据并发送到 DB 以使用插入查询数据进行存储,数据就会转换为 ????
我在用
mysql_query("SET NAMES 'utf8'");
mysql_query('SET CHARACTER SET utf8');
连接后,这根本不是问题。正如我之前所说,数据可以正常检索。我已经上传了两张图片。证明我的问题。
我真的被困在这里,正如你所看到的,我也采取了所有可能的步骤来解决这个问题,但这种行为真的很奇怪。请帮忙。
我用来将数据插入数据库的代码是:
$content=$_POST["content"];
echo $content;
$sql="update home set content='$content'";
$result=mysql_query($sql) or die(mysql_error());
您可以看到第二个 echo 语句。我添加它来调试问题。数据在此回声中完美显示。我想问题出现在查询中。