jQuery 중국어 난자 해결 방안


jQuery
중국어 부호화 완벽한 해결 방안
 
최근에 jQuery를 사용하다가 중국어 부호화 문제에 부딪혔습니다. 사실 그의 중국어 부호화는 콘텐츠 Type에 인코딩이 지정되지 않았기 때문입니다. jQuery에서만 사용할 수 있습니다.js에서 검색
’contentType’
그리고 응용 프로그램/x-www-form-urlencoded 뒤에
; charset=UTF-8
결국
contentType:"application/x-www-form-urlencoded; charset=UTF-8"
문제가 해결되다.
5가지 방법으로 jQuery로 폼 검증 다시 쓰기
jquery 중국어 난자 jquery 중국어 난자 jquery 중국어 난자 jquery 중국어 난자
앞에서 우리가 소개한 적이 있다jQuery 기술을 사용하여 코드의 질을 높이다. 왜냐하면 jQuery는 손에 익기 쉽고 사용이 간단하기 때문이다.폼을 다시 쓰는 검증은 프로그래머들이 자주 하는 일이다. jQuery를 사용하면 우리는 다섯 가지 방법을 선택할 수 있을 뿐만 아니라 코드가 어지러운 문제를 해결할 수 있다.
우선, 인코딩 지식에 대해 간단명료한 설명을 하고, 반드시 이해한 후에 아래의 코드를 보십시오.중국어 문자 요청을 보낼 때 get 방식을 사용하면 정상적으로 실행됩니다.post 방법을 사용하면 부호가 흐려진다.비동기적 대상인 XMLHttpRequest가 되돌아오는 ResponseText를 처리할 때 UTF-8 인코딩에 따라 디코딩되기 때문이다.
만약 당신의 원래 웹 페이지 인코딩이gb2312라면 당연히 인코딩의 충돌이 발생할 것입니다.만약 네가 원래의 웹 페이지 인코딩이utf-8이라면 중국어 난자 문제가 발생하지 않을 것이다.
중국어 코드가 깨졌는데 어떡하지?일반적인 해결 방법은 escape () 로 발송된 데이터를 인코딩한 다음 되돌아온responseText에서 unescape () 로 인코딩하는 것이다.그러나 JavaScript 프로그래밍에서는 일반적으로 escape()과 unescape()를 사용하지 않고 encodeURI()와 decodeURI()를 사용하는 것을 추천합니다.아래의'표 검증 실례'를 보십시오. 인코딩 지식을 배우는 데 어느 정도 도움이 될 것입니다.
첫째, jQuery의load(url, [data], [callback]) 방법
문법 설명: URL은 비동기 요청의 주소이고 데이터는 서버에 요청 데이터를 전송하는 데 사용되며 선택할 수 있는 매개 변수입니다.데이터 파라미터가 활성화되면 모든 요청 프로세스는post 방식으로 진행되며, 그렇지 않으면 기본적으로 get 방식으로 진행됩니다.get 방식에서도 데이터를 전달하기를 원한다면 url 주소 뒤에'dataname1=data1 &dataName2=data2'와 같은 방법을 사용할 수 있습니다.
콜백은 Ajax가 성공적으로 로드된 후 실행되는 콜백 함수입니다.또한load() 방법으로 되돌아오는 데이터는 텍스트인지 XML인지 더 이상 고려할 필요가 없고 jQuery는 자동으로 처리됩니다.자, 다음은 바로load () 방법을 사용하여 '자동 폼 검증' 실례를 실현합니다.먼저, html 프레임워크는 다섯 가지 예가 모두 같다. 다음과 같다.

  
  1. <form>
  2. :<input type="text" onblur="startCheck(this)" name="User" id="User"><span id="UserResult"></span><br />
  3. :<input type="password" name="passwd1"><br />
  4. :</td><td><input type="password" name="passwd2"><br />
  5. <input type="submit" value=" " class="button">
  6. <input type="reset" value=" " class="button">
  7. </form>  

필수 사항:
1,onblur="startCheck(this)"이것은JavaScript 코드(약칭 js)로text 텍스트 상자가 초점을 잃을 때 사용자 정의 함수 startCheck()을 터치한다는 뜻이며,this는text 텍스트 상자의 값을 가리킨다.
2,은 비동기 대상이 되돌아오는 결과를 저장합니다.

  
  1. jQuery :
  2. <script language="javascript" src="jquery.min.js"></script>
  3. <script language="javascript">
  4. function startCheck(oInput){
  5.      // , ,
  6.      if(!oInput.value){
  7.          oInput.focus(); //
  8.          document.getElementById("UserResult").innerHTML = "User cannot be empty.";
  9.          return;
  10.      }
  11.     oInput=$.trim(oInput.value); // jQuery $.trim()
  12.      var sUrl = "action.asp?user=" + oInput;
  13.     sUrl=encodeURI(sUrl); // encodeURI() ,
  14.      $("#UserResult").load(sUrl,function(data){
  15.          $("#UserResult").html(decodeURI(data)); // decodeURI()
  16.          }
  17.      );
  18. }
  19. </script>  

필수 사항:
1、jQuery를 사용할 때 jquery를 불러와야 합니다.min.js 파일http://jquery.com/홈페이지에서 최신 버전을 다운로드하다.
2. 입력 여부를 판단할 때 사용하는 것은 모두 자바스크립트 문법이다.
3.'처리 페이지'에 전달된 매개 변수를 encodeURI 인코딩하여 중국어 난자 문제를 해결한다.
4.load()의 function 함수는 반환 결과에 대한 decodeURI 디코딩을 해서 중국어 인코딩 문제를 해결하기 위한 것이다.
5, $.trim(), $("#UserResult"), html 등 jQuery 문법이 이해되지 않는 경우 jQuery 중국어 매뉴얼을 참고하면 된다.본 사이트에서는 다운로드를 제공합니다.

  
  1. action.asp :
  2. <%
  3. if(Request("user")="eko") then
  4. Response.Write "Sorry, " & Request("user") & " already exists."
  5. else
  6. Response.Write Request("user")&" is ok."
  7. end if
  8. %>

필수 사항:
1、action.asp 처리 페이지의 인코딩은 GB2312입니다. "Sorry.already exists..is ik"등 영어를 중국어로 바꾸면 아래의 설명을 보십시오.
2. post 방법을 사용하면 인코딩이 깨집니다. 이것은 비동기 대상인 XMLHttp Request가 되돌아오는responseText를 처리할 때 UTF-8 인코딩에 따라 인코딩하기 때문입니다.
3、그래서post방식이라면action을해야합니다.asp 페이지를 다른 이름으로 저장할 때, 세 번째 항목의 인코딩은 ANST에서 UTF-8로 변경됩니다. (반드시 기억해 주십시오
 
 
JQuery Ajax 제출
키워드: JQuery 책임 편집: LSY 작성 날짜: 2009-10-16 12:31:13
이전에 Jquery를 사용했을 때 Ajax로 제출할 때 인코딩이 깨지는 것을 발견하지 못했습니다. 인코딩 때문에 다음과 같은 몇 가지 이유가 있을 수 있다고 추측합니다. 1.HTML의 인코딩이 일치하지 않습니다: 예를 들어 페이지에 사용되는 GB2312는 JQuery가 지원하지 않는 것 같습니다.이전에 나는 줄곧 UTF-8을 사용했는데 줄곧 발견하지 못했다.2. 파일의 인코딩, 이것은 겉으로 보기에 좋지 않다. 간체 중국어 버전의 운영체제에 저장된 텍스트 형식의 파일은 기본적으로 GB2312이다. 파일을 UTF-8 형식의 가장 간단한 것으로 바꾸는 것을 권장한다.
 
이전에 Jquery를 사용했을 때 Ajax로 제출할 때 인코딩이 깨지는 것을 발견하지 못했습니다. 인코딩 때문에 다음과 같은 몇 가지 이유가 있을 수 있다고 추측합니다. 1.HTML의 인코딩이 일치하지 않습니다: 예를 들어 페이지에 사용되는 GB2312는 JQuery가 지원하지 않는 것 같습니다.이전에 나는 줄곧 UTF-8을 사용했는데 줄곧 발견하지 못했다.2. 파일의 인코딩, 이것은 겉으로 보기에 좋지 않다. 간체 중국어 버전의 운영체제에 저장된 텍스트 형식의 파일은 기본적으로 GB2312이다. 파일을 UTF-8 형식으로 바꾸는 것을 권장한다.
가장 간단한 해결 방법은 제출한 중국어 텍스트를 JS의 escape로 처리하면 인코딩이 발생하지 않는다는 것이다.예:
//데이터 저장 $.ajax({url:"/guide/savecomments.aspx",type:"POST",dataType:"json",data:"Action=SaveComment&CommNickName="+escape(CommNickName.val()) + "&CommContent="+escape(CommContent.val()) + "&GuideID="+ GuideID.val() + "&ScoreLogType=<%=ScoreLogType %>",success:function(results){alert(results.message);
살다
 
 
jquery로 AJAX의 중국어 난자 질문 제출하기
2009년 11월 01일 16시 30분
너무 엉터리야, Jquery가 왜 이 작은 문제를 봉하지 않는지 모르겠어.
우js 반찬 하나, 요즘 jquery로 만드는 거 재밌어요.
juqery로 AJAX 요청을 제출할 때 중국어 코드가 엉망이 됐어요. 원래 Firefox에서 개발했는데 쌀에 문제가 생겼어요. IE에서 다음 테스트를 하러 왔어요. 전혀 그렇지 않아요.
원인은 Jquery에서 AJAX가 제출한 요청이 중국어에 대한 URI 인코딩이 다르고 FF에서는utf-8인데 i에서는 그렇지 않기 때문에 구체적으로 무엇이 명확하지 않다.
해결 방법은 js의 인코딩 함수인 encodeURIComponent(string)로 처리하고 중국어'왕효명'을'%E7%8E%8B%E6%99%93%E6%98%8E'로 인코딩하면 OK입니다.
그나저나 내 토마토캣의 URIEncoding=UTF-8
출처: http://3699119.blog.163.com/blog/static/16707535120106134246632/

좋은 웹페이지 즐겨찾기