이 기사에서는 jquery ajax 제출 중국어 왜곡 문자 제출 문제에 대한 해결책을 공유할 것입니다. 관심 있는 친구들은 저를 따라와서 배울 수 있습니다.
대부분의 사람들은
jQuery(form).ajaxSubmit({ url: "ajaxsub.aspx?abc=test", type: "post", dataType: "json", success: data });
을 사용합니다. 분석: JQuery의 AJAX 제출은 데이터 인코딩하려면 encodeURIComponent를 사용하여 js에서 데이터를 처리합니다. 따라서 Firefox이든 IE이든 제출된 데이터는 일관되며 UTF-8로 인코딩된 데이터입니다.
헤더를 보고 Entity의 Content-Type에 차이가 있는지 확인하세요
Firefox에서 Content-Type은 문자 집합을 utf-8로 지정합니다.
그러나 IE에는 문자 세트 사양이 없습니다.
분명히 AJAX 비동기 제출의 문자 인코딩은 웹 페이지 자체와 일치해야 합니다. 즉, 서버 측에서는 표시된 문자 세트 사양을 찾지 못합니다. . , gb2312를 사용하여 IE에서 문자 왜곡의 근본 원인인 데이터를 디코딩합니다(그러나 데이터는 제출 전에 UTF-8로 인코딩되었습니다). Firefox에서는 브라우저가 AJAX 데이터를 제출할 때 다음과 같은 디스플레이 사양을 추가합니다. charset을 사용하면 서버가 UTF-8을 사용하여 데이터를 디코딩합니다(올바른 디코딩).
JQuery의 AJAX 도구 기능에 대한 설명을 확인해보니 옵션에 content-type을 지정하는 매개변수가 있는 것을 발견했습니다
그래서 제출 시 인코딩 유형을 지정해야 합니다
contentType: "application/x-www-form-urlencoded; charset=utf-8",
그 내용은 다음과 같습니다
jQuery(form).ajaxSubmit({ url: "ajaxsub.aspx?abc=test", type: "post", dataType: "json", contentType: "application/x-www-form-urlencoded; charset=utf-8", success: data });
위의 내용은 앞으로 모든 사람에게 도움이 되기를 바랍니다.
관련 기사:
JQuery ajax가 json을 반환할 때 중국어 문자 깨짐을 해결하는 방법
Django 프레임워크에서 ajax post 메서드를 사용하는 방법
동적 페이징을 구현하기 위한 ajax +jtemplate에 대한 자세한 설명
위 내용은 JQuery ajaxSubmit으로 제출된 중국어 왜곡 코드를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!