2010-06-03 4 views
0

저는 처음으로 AJAX가 가능한 Joomla 구성 요소를 작성했습니다. 나는 mootools를 사용하고있다. 내 줌라 구성 요소에 연락 할 수있는 XMLHttpRequest의를 얻고, 구성 요소가 응답 반환 - 와이어 샤크는 응답이 \ 357 앞에 추가 하더군요 제외하고, 그것은 모든 잘 작동하고mootools xmlhttprequest에 대한 PHP 응답의 UTF-8 BOM

echo 'Hello World!'; 

같은 PHP에 의해 반향 그냥 일반 텍스트를, \ 273 \ 277 \ 357 \ 273 \ 277 클라이언트 측의 자바 스크립트에서 읽을 수 있습니다. 이것은 스크립트가 보여주는 경고 상자에 응답 전에 작은 사각형으로 표시됩니다.

나는 명시 적으로 XMLHttpRequest의에 인코딩을 설정하지 마십시오; mootools 워드 프로세서는 기본적으로 UTF8라고 말합니다.

이 문제를 해결하는 올바른 방법은 무엇입니까? 요청에 인코딩을 설정해야합니까? 마임 타입? 자바 스크립트 그것을 제거해야합니까? 응답에 UTF8이 필요한 문자를 사용할 계획이 아니므로 일반적인 오래된 ASCII를 사용하면 나도 괜찮을 것입니다.

감사합니다.

답변

0

나는 마이크로 소프트 익스프레션 웹 (3)을 사용하고,이 PHP 파일의 BOM을 추가하지 설정에도 불구하고, 실제로 PHP 파일의 시작 부분에 BOM이 있었다거야. 16 진 편집기를 사용하여 BOM을 제거했습니다. 이제 Expression은 저장하는 동안 더 이상 BOM을 추가하지 않습니다. XMLHttpRequest의 응답에 2 BOM의 존재 이유를

는 모르겠지만, 지금은 모두 사라입니다.

0

일반적으로 UTF-8 BOM은 권장되지 않습니다. 바이트 순서는 UTF-8에서 되돌릴 수 없으므로 소비 소스에 다음 내용이 실제로 UTF-8로 인코딩되었음을 알리는 것 외에 다른 용도는 거의 없습니다.

나는 그것을 제거 것 중 하나의 Joomla 끝에 (권장) 또는 자바 스크립트와. 당신이 이중 BOM을 가지고있는 것처럼

또한, 어떤 이유로, 그것은 보인다.

This related question도 도움이 될 수 있습니다.