jquery.ashx 파일 post 중국어 난 장 판 문제 해결 방법

1.나의 환경:vs 2005,SP1 패 치 를 설치 하지 않 았 습 니 다.웹 프로그램 을 만 들 수 없고 사이트 만 만 만 들 수 있 습 니 다.jquery 버 전 1.5.1 2.web.config 의 관련 설정3.jquery 의 Post 데이터 쓰기
 
$(document).ready(function (){
$("#btnSend").click(function(){
$.ajax({
type: "POST",
url: "PrecisionAHandle.ashx",
contentType:"application/x-www-form-urlencoded; charset=UTF-8",
data: { "StudentId": $("#LblStudentId").attr("innerText"),"StudentName": $("#LblStudentName").attr("innerText"),"StudentAge": $("#txtStudentAge").attr("value")},
success: function(html){
$("#TabContainer").html(html);
}
});
});
});
중 StudentName 은 중국어 4.ashx 파일 에서 인 자 를 받 는 쓰기 string strStudentName=context.Request.Params["StudentName"];메모:contentType 이 없 으 면:"application/x-www-form-urlencoded;charset=UTF-8"이면 context.Request.Params["Student Name"]은 난호 입 니 다..ashx 에서 context.Request.contentEncoding 을 추적 한 결과 jquery 가 post 한 데 이 터 는 gb 2312 인 코딩 을 사용 한 것 을 알 수 있 습 니 다.context.Request 는 데 이 터 를 받 을 때 기본적으로 utf-8 로 디 코딩 을 할 수 있 습 니 다.그러나 jquery 는 Post 데 이 터 를 사용 할 때 utf-8 을 사용 하지 않 아서.ashx 의 context.Request.Params["StudentName"]가 난 장 판 으로 표 시 됩 니 다.느낌 이 이상 한 현상:현상 1:contentType 를 추가 하지 않 습 니 다."application/x-ww-form-urlencoded;charset=UTF-8"의 경우.ashx 파일 에서 아래 문 구 를 사용 하면 문자열 을 정확하게 표시 할 수 있 습 니 다.
 
StreamReader steamRd = new StreamReader(HttpContext.Current.Request.InputStream);
string strPostData = steamRd .ReadToEnd();
strPostData =HttpUtility.UrlDecode(strPostData, Encoding.GetEncoding("utf-8"));
현상 2:웹 config 의 관련 설정 을로 변경 한 후 contentType:"application/x-www-form-urlencoded 를 추가 하 든 말 든;charset=UTF-8"배경 에 있 는.ashx 파일 이 받 은 매개 변 수 는 여전히 난 장 판 입 니 다.웹.config 를 수정 한 후 사이트 의 컴 파일 이 느 리 고 실행 도 느 립 니 다.참고 글:https://www.jb51.net/article/26658.htmhttps://www.jb51.net/article/26659.htm

좋은 웹페이지 즐겨찾기