본문 바로가기
Web(html css php)

php json_encode 한글(utf8)

by 전재훈 2015. 12. 7.
반응형

php 기본 내장 json_encode를 사용하면 한글부분에서 문제가 발생해서 

아래와 같이 함수를 구현해서 사용하시면 됩니다.


제가 구현한 함수는 아니고 구글링해서 구한 소스입니다.


function json_encode2($data) {

    switch (gettype($data)) {

        case 'boolean':

            return $data?'true':'false';

        case 'integer':

        case 'double':

            return $data;

        case 'string':

            return '"'.strtr($data, array('\\'=>'\\\\','"'=>'\\"')).'"';

        case 'array':

            $rel = false; // relative array?

            $key = array_keys($data);

            foreach ($key as $v) {

                if (!is_int($v)) {

                    $rel = true;

                    break;

                }

            }


            $arr = array();

            foreach ($data as $k=>$v) {

                $arr[] = ($rel?'"'.strtr($k, array('\\'=>'\\\\','"'=>'\\"')).'":':'').json_encode2($v);

            }


            return $rel?'{'.join(',', $arr).'}':'['.join(',', $arr).']';

        default:

            return '""';

    }

}

반응형

댓글