2009-12-14 6 views
2

소스 파일이 있습니다악센트 아약스 인코딩 문제

header('Content-type: text/html; charset=iso8859-1'); 

소스 아약스 (jQuery를) 스크립트는 다음과 같습니다

$(document).ready(function() { 
$.ajaxSetup({ 
    cache: false 
}); 

$("#searchfield").keyup(function(){ 
    $("#insert_search") 
     .load('ajax/searchobjects.php', {search_word: $("#searchfield").val()}, function(){ 
     }); 
    }); 
}); 

대상 파일 :

header('Content-type: text/html; charset=iso8859-1'); 

echo $_POST['search_word']; 

데이터 전송 :

é 

결과는 다음과 같습니다

é 

모든 파일 :

Western (ISO Latin 1) (using TextWrangler) 

재미 일 : 나는 액센트 잘 MySQL의에 레코드를 삽입 할 수 있습니다.

답변

0

라틴어 -1로 é (0xc3, 0xa9)의 UTF-8 인코딩을 표시하고 있기 때문입니다. 따라서 search_word는 PHP에 게시 될 때 UTF-8로 인코딩되었습니다.

이 시도

,

$.ajaxSetup({ 
     scriptCharset: "iso-8859-1", 
     cache: false 
}); 
1

AJAX 호출의 기본 반환 형식이 UTF-8이기 때문입니다. 귀하의 ajax 스 니펫에

utf8_encode($output); 

을 시도해보십시오. 또는 here에 설명 된대로 AJAX 요청의 인코딩을 변경할 수 있습니다.