使用utf-8通过ajax post发送emoji

disho6za  于 2021-06-16  发布在  Mysql
关注(0)|答案(1)|浏览(380)

这个问题在这里已经有答案了

utf-8全程(16个答案)
去年关门了。
我试图通过ajax将数据发送到php文件,然后使用sql上传到我的数据库。我已经修改了我的表以允许插入utf-8。当我使用表单插入时,它可以正常工作,但是当使用ajax发送数据时,它不会发送数据。
例如,我试图发送一些文本和表情符号到一个php文件,然后上传到我的数据库。
我已经准备好了 <meta charset="utf-8"> 在我的页面顶部甚至添加了 header("Content-Type: text/html; charset=utf-8"); 到页面和php文件,因为我看到一些其他的帖子提到,但它没有工作。
以下是ajax函数: $detail = $('#post').text(); //Gets text from div ```
$.ajax({
url: 'edit.php',
type: 'post',
contentType: 'application/x-www-form-urlencoded;charset=utf-8',
data: {detail: $detail},
datatype: 'html',
success: function() {
console.log($detail);
}});

这个 `$detail` 只是来自div的值,而编辑文件所做的只是 `UPDATE` table。
当我 `console.log` 它返回的数据带有文本和表情符号,但它不会插入到我的数据库中。
在写这篇文章的时候,我注意到 `'application/x-www-form-urlencoded;charset=utf-8'` 阻止了整个过程,但我不知道为什么。
请求者的后端代码:
注意:当我通过一个表单传递它时,这是有效的,但是当添加一个emoji时,比如?它不起作用。
gj3fmq9x

gj3fmq9x1#

添加 mysqli_set_charset($conn, 'utf8mb4'); 连接到数据库后,所有php文件。

相关问题