이번에는 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 요청 시 중국어 문자가 왜곡되어 전송되는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!