2014-07-04 3 views
0

내 응용 프로그램에 angular-translate 모듈을 사용하고 있습니다. Chrome에서는 정상적으로 작동하지만 Firefox에서는 유니 코드 문자가 포함 된 모든 언어 파일이 실패합니다.Firefox의 각도 변환 유니 코드 문제

내가 브라우저를 통해 직접 JSON 파일을 요청할 때 잘 나타납니다,하지만 난 방화범을 통해 파일을 볼 때 나는 이런 식으로 뭔가를 참조하십시오

ÿþ{� 
� 
� �"�*�*� 

나도 같은 볼 방화범의 번역 사용을 기준 치수. 브라우저가 유니 코드 문자를 올바르게 렌더링하는 것 같지만 어떤 이유로 각도 변환이 (아약스 요청을 통해) 이루어지지 않습니다. Chrome에서는 모든 것이 완벽하게 작동하므로 크롬에서 Angular translate 모듈을 누르기 전에 아마도 Firefox에서 발생하지 않는 파일의 일부 사전 처리가 있다고 추측합니다.

비슷한 경험이 있습니까?

+0

버그이기 때문에 github https://github.com/angular-translate/angular-translate에서 질문 할 수 있습니다. – jcubic

답변

2

.json 파일을 UTF-16LE 인코딩으로 저장했습니다. 이것은 ASCII 호환이 아니기 때문에 웹에서 사용하기에는 좋지 않습니다. ASCII 문자를 브라우저에서 '확인'할 수는 있지만 브라우저가 Firebug에서 표시하는 0 바이트를 무시하므로 으로 표시됩니다. Windows는 UTF-16LE 인코딩을 "Unicode"라고 오인하기 쉽도록 호출하여 매력적인 트랩으로 만듭니다.

XMLHttpRequest (아마도 angle-translate가 의존하게 될 것입니다)는 응답하지 않는 한 응답을 UTF-8로 해석합니다. 따라서 JSON 파일을 UTF-8 인코딩으로 저장해야합니다.

+0

Windows7이 USC-2에서 JSON 파일을 인코딩 할 때 비슷한 문제가 발생했습니다. 각도 번역은 Chrome 36과 IE 11에서 유니 코드 문자를 표시하지만 Firefox 31에서는 표시되지 않습니다. 수수께끼지만 이상한 문자를 언급 한이 응답을 발견했을 때 나는 방화범 응답으로부터 문자를 인식했습니다. 파일을 utf8로 변경했는데 모두 정상입니다. –