2014-01-10 3 views
0

다른 국가의 사람들이 Q & A를 작성하여 Google 서버로 보내는 기존 애플리케이션이 있습니다. 일단 서버에 도달하면 모든 것이 XML로 변환되어 서버간에 쉽게 전달 될 수 있습니다. 나는 비영어권 국가의 몇몇 사용자로부터 업로드가 서버에 전달되지 않는다는보고를 받고 있으며 로그 파일을 살펴보면 주어진 답변에 질식하는 것처럼 보입니다.영어가 아닌 키보드의 문자가 다르게 인코딩되었거나 유효한 xml이 아닌 문자일까요?

그들이 제출하려고했던 답변의 스크린 샷을 가져 와서 잘못된 XML 문자 인 영어가 아닌 문자라고 생각했지만 캡쳐 화면의 모든 내용은 일반 문자 (영문자 및 ​​숫자)로 보입니다. .

낯선 사람이라도 똑같은 대답을하고 (영어) 키보드를 사용하여 양식을 업로드했지만 오류가 발생하지 않았습니다.

시각적 표현이 일반 ASCII 문자처럼 보일지라도 영어가 아닌 키보드로 입력되기 때문에 실제로 인코딩이 달라지고 문제가 발생할 수 있습니까?

+0

텍스트 편집기가 아닌 16 진수 편집기에서 제출물을 보았습니까? 그들은 다르게 보입니까? – neminem

답변

0

XML은 일반적으로 UTF-8로 인코딩되어 있습니다. 아마도이 코드를 고려하지 않은 것일 수 있습니다. UTF가 태그 이름에 있으면 구현에 따라 다릅니다. UTF가 태그 사이의 값인 경우 사용자가 가지고있는 것처럼 들리지만 괜찮습니다.

키보드가 라틴어/독일어로 제공되는 경우 ABC와 액센트는 사용자가 알고있는 ASCII와 일치합니다. 러시아어/키릴 어로와 같이 ABC 글자가 비슷한 다른 언어를 사용하는 경우 라틴/게르만 어 사용자가 알고있는 소리를 나타내지 않으므로 다르게 인코딩됩니다. 일본어와 중국어조차도 ASCII가 아닌 유니 코드 표에 자체 라틴어 하위 집합이 있습니다. 대개 고정 너비 또는 익숙하지 않은 글꼴/불결한 글꼴 때문에 자리를 잡기 쉽습니다. 이것들은 일반적인 문자열 비교를 실패합니다. 필자는 PHP와 같은 일부 스크립트 언어가 다양한 유니 코드 문자를 해당하는 aSCII 코드로 변환하는 기능을 가지고 있다고 생각합니다.

관련 문제