>  기사  >  웹 프론트엔드  >  Ajax 요청 시 중국어 문자가 왜곡되어 전송되는 문제를 해결하는 방법

Ajax 요청 시 중국어 문자가 왜곡되어 전송되는 문제를 해결하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-04-03 10:00:252257검색

이번에는 Ajax 요청 시 한자가 깨져 전송되는 문제를 해결하는 방법을 알려드리겠습니다. Ajax 요청 중에 한자가 깨져 전송되는 경우 해결해야 할 주의사항은 무엇인가요? 함께요.

오늘 Ajax 요청에서 중국어를 전송할 때 문자가 깨지는 문제와 관련하여 문제가 발생했습니다.

다음 코드:

function UpdateFolderInfoByCustId(folderId, folderName, custId) {
$.ajax({
type: "Post",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
url: "http://localhost/CRM/Ashx/HandKBSucessCustomer.ashx?Method=UpdateCustomerByCustId&folderId=" 
+ folderId + "&folderName=" + encodeURI(encodeURI(folderName)) + "&custId=" + custId,
success: function (msg) {
alert(msg);
},
error: function (error) {
alert(error);
}
});
}

위 코드에서 "&foderName="+folderName만 전달하면 한자가 깨집니다. encodeURL을 통해 두 번 변환하면 한자 인코딩이

"%e6%b5와 유사해집니다. %8b %eb%af%95” 형식입니다. 이 형식으로 변환한 후 획득 시 아래와 같이 트랜스코딩합니다.

public void UpdateCustomerByCustId()
{
int folderId = Convert.ToInt32(Request["folderId"]);
string folderName = Request["folderName"];
string folderName2 = Convert.ToString(System.Web.HttpUtility.UrlDecode(folderName));
int custId = Convert.ToInt32(Request["custId"]);
bool res = false;
try
{
res = CustomerBusiness.UpdateCustomerByCustId(folderId, folderName2, custId);
}
catch (Exception ex)
{
throw;
}
Response.Write(res);
}
}
}

이 변환 후에는 전송된 한자를 얻을 수 있습니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

AJAX 요청 배열 구현 방법

Ajax에서 캐시를 지우는 방법

위 내용은 Ajax 요청 시 중국어 문자가 왜곡되어 전송되는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.