2011-12-05 3 views
6

저는 AJAX 요청에 YUI를 사용하는 간단한 asp.net 웹 응용 프로그램을 가지고 있습니다. 응용 프로그램은 텍스트 상자에서 텍스트를 읽고 AJAX 요청을 서버로 보냅니다. 코드AJAX 요청을 통해 문자를 전송하는 데 문제가 있음

<body> 
    <form id="form1" runat="server"> 
    <div> 
     <input id="txt" name="txt" type="text" value="[Enter some value]" /> 
     <input id="btn" type="button" value="button" /> 
    </div> 
    <div id="out"></div> 
    </form> 
</body> 

다음은

YAHOO.util.Event.onDOMReady(function() { 
    YAHOO.util.Event.addListener("btn", "click", function(evt) { 
     var url = "Server.aspx?type=test&txt=" + document.getElementById("txt").value; 
     var btn = document.getElementById("out"); 
     var cObj = YAHOO.util.Connect.asyncRequest('GET', url, { 
      success: function(o) { 
       btn.innerHTML += "<div>" + o.responseText + " = " + o.responseText.charCodeAt(0) + "</div>"; 
      }, 
      failure: function(o) { 
       confirm("Its failure"); 
      }, 
      cache: false 
     }); 
    }); 
}); 

무엇 내가 응용 프로그램에서 할 것은, 사용자가 입력 한 문자를 받아 DB에 저장하고 Ajax 응답에 기록되는 Ajax 요청을 초기화하는 클라이언트 스크립트입니다 다음 . 시스템에서 유니 코드 (데이터베이스)를 지원하지 않습니다.

내 문제는 "등록"® 문자 (0174)를 텍스트 상자에 입력하고 서버로 보낸 경우 사용자가 텍스트 상자에 입력 한 내용이 아닌 # 65533이 표시된다는 것입니다. 또한이 문자는 유니 코드 문자가 아닌 이유는 무엇입니까?

+0

어떤 문자 인코딩을 사용하십니까? Unicode 인코딩은 아니지만 사용 * 지정 *은 지정하지 않았습니다. – Piskvor

+0

보내진 Ajax 요청의 콘텐츠 인코딩 또는 콘텐츠 유형을 의미합니까? –

+1

다양한 인코딩 (설정)이있을 수 있으며 모든 인코딩이 중요 할 수 있습니다. DB 인코딩, 클라이언트에게 전달 된 페이지의 인코딩, 서버 측에서 작업 할 때의 인코딩 Btw., 귀하의 문제는 실제로 "등록 된"문자만으로 제한 되었습니까? 아니면이 문제를 보여주는 다른 문자가 있습니까? – codeling

답변

1

설정 한 태그를 제외하면 백엔드는 asp.net에 프로그래밍되어 있습니까? 거기에서 어떤 인코딩을 사용하고 있는지 확인하십시오 (예 : here 참조). 문제는 클라이언트에게 전달하는 것과 다를 것이라고 생각됩니다 (서버 설정 참조).

+0

이 주셔서 감사합니다 web.config에서 globalizatioin 추가 시도했지만 그것은 나를 위해 일하지 않습니다. 이것에 대한 더 많은 입력? –

+0

제대로 이해했다면 AJAX 요청에 응답하는 서버 부분이 텍스트를 받아 데이터베이스에 저장하고 다시 보냅니다. 보낸 된 뒤로 값이 잘못 도착합니다. 하지만 서버의 값을 확인 했습니까? 여전히 맞습니까? – codeling

+0

그들은 너무 잘못되었습니다 ... 디버깅하는 동안 서버에서 값을 확인하고 content-type이 application/x-www-form-urlencoded로 제공됩니다. utf-8; –

2

구성 문제는 잊어 버리십시오. 문제는 아마도 편집기와 파일을 저장하는 데 사용하는 파일 인코딩과 관련이 있습니다. 문자 인코딩을 설정하는 것만으로는 안되며 때로는 문제가되지 않는 경우도 있습니다. 문자 세트를 지원하는 인코딩으로 파일 자체를 저장해야합니다 (예 : BOM이없는 utf-8). 정보. 물론 웹 서버, 데이터베이스 서버 (사용중인 경우)와 클라이언트간에 많은 일이 발생할 수 있습니다. whe 웹 서버의 기본 문자, 데이터베이스 및 편집기를 사용하여 파일을 저장하는 파일을 체크 아웃하여 파일을 저장하십시오.

관련 문제