json_encode 로 한글 문자 깨짐 현상을 겪어보신 분들은 잘 아실듯 합니다.

편법으로 urlencode 나 base64_encode 로 문자열 처리한 후 다시 원상복구과정으로 처리합니다만 그러나 php 5.4 부터 지원하는 JSON_UNESCAPED_UNICODE 상수를 이용하면 번거롭게 편법을 하지 않아도 유니코드 문자열을 처리할 수 있게 되었습니다.

<?php
 $arr = array('name' => "하보니입니다.");
 $encode = json_encode( $arr, JSON_UNESCAPED_UNICODE );
 print_r($encode);
 /*
    결과 : 
    {"name":"하보니입니다."}
 */


 $decode = json_decode( $encode );
 print_r($decode);
 /*
    결과 : 
    stdClass Object
    (
        [name] => 하보니입니다.
    )
 */
 ?>

0 댓글