문제

소스 파일은 다음과 같습니다.

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

소스 ajax (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에 레코드를 삽입 할 수 있습니다.

도움이 되었습니까?

해결책

이는 e (0xc3, 0xa9)의 UTF-8 인코딩을 라틴 -1로 표시하기 때문입니다. 따라서 Search_Word는 PHP에 게시 할 때 UTF-8로 인코딩되었습니다.

이 시도,

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

다른 팁

AJAX 호출의 기본 반환 유형이 UTF-8이기 때문입니다. 노력하다

utf8_encode($output);

Ajax 스 니펫에서. 또는 설명대로 AJAX 요청의 인코딩을 변경할 수 있습니다. 여기.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top