2009-09-02 3 views
3

UTF-8로 설정된 HTML 페이지가있는 경우. 그리고 난 big5 양식으로 중국어 문자를 입력하고 제출하십시오. 서버 측 인코딩은 무엇입니까? 은 자동으로 UTF-8로 변환됩니까? 또는 어떻게 작동합니까 ?? 감사합니다.인코딩은 무엇입니까?

Supplement1 : 사실 실제로 브라우저에서 사용할 인코딩을 결정할 수없는 이유는 무엇입니까? 왜냐하면 인코딩은 IME에 의해 생성 되었기 때문입니다. 예를 들면 : 내가 중국어 문자를 입력하는 데 사용되는 도구 맞죠?

supplement2 : 그냥 "마이클 매드슨은"응답 아래에서 한 말처럼 모든 것이, 그럼 어떻게이 문제를 처리 할 ASP.NET 할 수있는 경우 양식의 문자 등 무엇이든 그것과 상관없이 내가 어떻게 입력, 그것은 것 항상 손상을 입지는 않지만 JSP로 할 수는 없습니까?

답변

3

브라우저가 유니 코드와 함께 작동합니다. 문자가 입력되면 내부적으로 유니 코드로 저장됩니다. 양식이 제출되면, 적절한 인코딩 (대개 페이지 인코딩)의 문자를 출력합니다.

Big5 문서의 복사/붙여 넣기에 대해 이야기하고 있다면 편집기에 따라 문서가로드 된 경우에도 클립 보드에 삽입 될 때 이미 유니 코드로 변환되었을 것입니다.

일부 IME를 사용하여 문자를 입력하는 경우 IME가 유니 코드로만 작업해야하므로 Big5 인코딩이 관련되지 않으므로 문제가 발생합니다. 만약 그렇다면, 어쨌든 유니 코드와의 변환을하는 사이에 약간의 레이어가 있기 때문에, 브라우저는 소스 코드를 전혀 알지 못합니다.

+0

왜? 시스템은 자동으로 문자열을 big5에서 utf-8로 변환 할 수 있습니까? – MemoryLeak

+1

예. 운영 체제는 각 인코딩의 값에서 실제 문자로 이동하는 방법을 알고 있으며 운영 체제가 무언가를 수행 할 때 운영 체제의 내부 인코딩을 사용하여 표현됩니다. 그런 이유로 레거시 애플 리케이션은 여전히 ​​Windows에서 작동합니다 - Windows는 UTF-16을 내부적으로 사용하지만 언어 별 코드 페이지를 사용하는 레거시 앱은 기본적으로 유니 코드 버전의 API 함수를 호출하는 호환성 레이어를 호출 할 수 있습니다. 변환되었습니다 (API 함수에서 반환 된 텍스트도 물론 다른 방법으로 변환됩니다). –

+0

브라우저는 유니 코드 가능하기 때문에 변환없이 운영 체제가 제공 한 내용을 이해하고 처리 할 수 ​​있습니다. 양식을 제출하라는 메시지가 나타나면 시스템 인코딩에서 서버가 요청한 인코딩으로 변환하고 변환 된 텍스트를 보냅니다. –

0

브라우저는 원하는 경우 big5로 게시물을 보낼 수 있으며 서버가이를 처리 할 수 ​​있어야합니다. 그러나 "big5를 인코딩하여 중국어 문자를 입력합니다"라는 것은 무엇을 의미합니까? 문자를 입력 할 때 어떤 인코딩을 사용할 지 결정하는 것은 브라우저의 몫입니다.

+0

실제로 나는 브라우저가 사용할 인코딩을 결정할 수있는 이유가 확실하지 않습니다. 왜냐하면 인코딩은 IME에 의해 생성 되었기 때문입니다. 예를 들면 : 내가 중국어 문자를 입력하는 데 사용되는 도구 맞죠? – MemoryLeak

+0

그건 그냥 적절한 방식으로 브라우저에 텍스트 데이터를 얻을거야. 중요한 것은 인코딩이 아니라 텍스트 값입니다. 여러 가지 방법으로 발생할 수있는 OS, 브라우저 및 IME에 따라 다르지만 브라우저가 유니 코드 문자를 전송할 것을 알고있는 한 원하는 인코딩을 사용하도록 결정할 수 있습니다 (헤더에 넣음). –

+0

우리가 볼 수있는 것은 "텍스트 값"이지만 컴퓨터는 16 진수 값처럼 인코딩 만 인식 할 수 있습니다. 따라서 IME로 문자를 입력하고 big5 문자를 생성하면 브라우저가이를 자동으로 UTF-8로 변환합니까? – MemoryLeak

관련 문제