질문Q #2999
컨트롤러 json 질문.
초보프로그래머2014-12-16 18:07:39
function banner() {
        $banner = $this->main_m->getbanner();
        echo json_encode($banner);
    }

이런식으로 모델에서 받아서요.

저렇게 json으로 뿌리는데요.

어떤건 json 포맷으로 잘 뿌려지고,

어떤건, 파이어폭스 기준




콘텐츠 인코딩 오류

유효하지 않거나 지원하지 않는 압축 형식을 사용하므로 현재 페이지를 표시할 수 없습니다.

    웹 사이트 관리자에게 현재 문제를 알려 주시기 바랍니다.



이런식으로 나옵니다 ㅠㅠ 뭐가 문제일까요?ㅠㅠ
 
답변4
#1 한대승(불의회상) 2014-12-16 19:44:40
인코딩 오류 나왔으니 서버 기본 문자셋이 UTF-8 인지 확인 해보세요.
아니면 명시적으로 데이터를 출력하기 전에 데이터 타입과 인코딩 방식을 헤더로 출력해 주세요.
#2 초보프로그래머 2014-12-17 10:46:55
근데, 어떤 json 데이터는 잘 나오구요. 어떤 json 데이터는 저렇게 나와여.

지금 컨트롤러마다 각각 다른 테이블에 데이터를 뿌려주는데,

어떤 컨트롤러는 잘 뿌려지고, {[키:값]} 이렇게

근데 어떤 컨트롤러는 저렇게 인코딩 문제가 되네여 ㅠㅠ

디비에서 데이터 불러와서 인코딩하는데에서 데이터가 이상한가봅니다 ㅠㅠ
#3 한대승(불의회상) 2014-12-17 10:58:34
디비의 컬럼별 인코딩도 확인해 보세요.
테이블 인코딩이 디폴트로 적용 되는데 가끔 인코딩 변경 후에도 문제가 되는 경우가 있더군요.
#4 초보프로그래머 2014-12-18 15:38:24
해결 했습니다. config에 컴프레스 아웃풋? 그거 false로 주니까 되네요