Javascript `$(';#form';).serialize()`将UTF-8字符弄乱

Javascript `$(';#form';).serialize()`将UTF-8字符弄乱,javascript,encoding,Javascript,Encoding,我使用AJAX插入表单,并使用:$(“#form”).serialize()获取所有输入并将其发送到insert.php 问题是像á这样的字符会变成%A9等等 如何在发送之前防止这种情况发生,或者如何在通过$\u POST检索时获得正确的字符,以便将其正确插入数据库 编辑----- 顺便说一句:没有AJAX的相同表单,只需将action=“POST”正确插入相同的insert.php,因此问题只在于serialize()弄乱了HTML。Jqueryserialize()序列化为UTF-8。因此á

我使用AJAX插入表单,并使用:
$(“#form”).serialize()
获取所有输入并将其发送到insert.php

问题是像
á
这样的字符会变成
%A9
等等

如何在发送之前防止这种情况发生,或者如何在通过$\u POST检索时获得正确的字符,以便将其正确插入数据库

编辑-----


顺便说一句:没有AJAX的相同表单,只需将action=“POST”正确插入相同的insert.php,因此问题只在于serialize()弄乱了HTML。

Jquery
serialize()
序列化为UTF-8。因此
á
成为正确的UTF-8编码
%c3%a1
。尝试使用
$\u请求
,因为它已经按照php文档进行了解码

您需要做的最后一步是在PHP文件中解码,如下所示:

$usuario=utf8_解码($_POST['nombre'])

在将数据发送到数据库之前,我使用utf8_decode()与htmlspecialchars()组合:


$nombres=utf8_解码(htmlspecialchars($_POST['nombres'])

不,我现在正在读有关它的书。我真的不知道如何应用它,顺便说一句,我可以很容易地将东西插入数据库。唯一的问题似乎是当我使用函数.serialize()时,但除非我停止使用AJAX,否则我实际上没有任何其他方法插入数据库。
urldecode($\u POST['data'])
在插入数据库之前为我解决了这个问题!