Aujourd'hui, j'ai rencontré un problème de transmission chinoise dans la demande de l'Ajax et rencontré du code brouillé.
Le code suivant:
La copie de code est la suivante:
function updateFoldeRinfobyCusId (folderid, foldername, custid) {
$ .ajax ({
Type: "Post",
ContentType: "Application / X-Www-Form-Urlencoded; charset = utf-8",
URL: "http: //localhost/crm/ashx/handkbsucesscustomer.ashx? Method = udateCustomerByCustid & Folderid ="
+ Folderid + "& foldername =" + encodeuri (encodeuri (foldername)) + "& custid =" + custid,
Succès: fonction (msg) {
alerte (msg);
},
Erreur: fonction (erreur) {
alert (erreur);
}
});
}
Si le code ci-dessus vient de passer "& Fodername =" + Foldername, les caractères chinois produiront du code brouillé.
"% E6% B5% 8B% EB% AF% 95" Format. Après avoir converti à ce format, il est transcodé lors de l'obtention, comme indiqué ci-dessous:
La copie de code est la suivante:
public void updateCustomerByCustid ()
{
int folderid = convert.toint32 (request ["folderid"]);
String FolderName = request ["FolderName"];
String FolderName2 = Convert.ToString (System.Web.HttUtility.UrlDECODE (FolderName));
int Custid = convert.toint32 (request ["custid"]);
bool res = false;
essayer
{
res = CustomerBusiness.UpDateCustomerByCustid (Folderid, Foldername2, Custid);
}
Catch (exception ex)
{
lancer;
}
Response.Write (RES);
}
}
}
Après cette conversion, les caractères chinois transmis peuvent être obtenus.