2012-08-03 1 views
0

UTF-8 BOM으로 인코딩 된 파일이 있습니다. 그것은 'Ÿ'문자 인 한 문자 x9F (DEC 159)를가집니다. IE와 Firefox 모두이 파일을 구문 분석하지 못합니다. 인코딩 요소는 encoding = "UTF-8"입니다. 이전 버전의 브라우저 중 일부는 x80 - x9F를 표시하지 않지만 HTML에만 적용됩니다. 왜 IE와 FF가 이것에 걸리는가?IE에서 UTF-8을 구문 분석 할 수 없습니다.

+0

첫 번째 장소에서 IE에서 작동 할 것으로 예상해서는 안되며 ... – JTApps

+0

IE (및 Firefox)의 버전은 테스트 중입니까? – Spudley

+0

IE9와 FF14를 사용하고 있습니다. – kakridge

답변

3

ASCII 문자는 모두 128 미만입니다. Latin-1에는 x80 - x9F의 문자가 아닌 제어 코드가 있으며, 마찬가지로 유니 코드에는 코드 포인트 U + 0080 - U + 009F의 제어 코드가 있습니다. 텍스트에 U + 009F라는 문자가있는 경우 틀린 것입니다. U + 0178, & # 376이어야합니다. . 파일에 단일 바이트 x9F가 있으면 두 배로 잘못되었습니다. 127보다 큰 문자는 작동하려면 UTF-8로 인코딩해야합니다.

+0

하나의 x9F가 문제였던 것 같습니다. 나는 나의 질문을 편집했다 - 나는 ASCII를 의미하지 않았다, 나는 1 바이트를 의미했다. UTF-8이 ASCII가 아닌 단일 바이트로 255 자에 가깝다고 생각했기 때문에 숙제를해야했습니다. – kakridge

-1

실제로

UTF-8 BOM은 사양에 따라 XML에 의해 지원 될 필요가 공통의 문제이지만, 실제로 몇 파서는 동의합니다. 귀하의 의견에 의해 IE와 파이어 폭스조차도, 적어도 당신이 사용하고있는 버전에서는 그렇게하지 않는 것 같습니다.

무엇을 할 수 있습니까? 아무것도. 그 파서들이 충분히 좋지 않다는 것입니다.

관련 문제