본문 바로가기
소프트웨어 개발/PHP

PHP 5.3 - json_encode 한글처리

by 인생은즐겁게 2022. 12. 1.
반응형

 

PHP 배열을 JSON 형태로 변환시 한글로 출력하여 저장할 경우가 생깁니다.

PHP 5.4부터는 JSON_UNESCAPED_UNICODE 도입 되었습니다. 이 인자값의 역할은 json_encode 시 한글 출력이 인코딩 값으로 출력이 되는 것을 한글로 출력되게 해주는 역할을 하고 있습니다.

PHP 5.4 이하 버전에서는 이러한 것이 지원이 되지 않기 때문에 아래와 같이 함수를 만들어서 사용하셔야 합니다.

 

5.4 이상 한글 출력 방법

<?php

json_encode( $text, JSON_UNESCAPED_UNICODE );

 

 

 

PHP 5.3 출력 방법

<?php

function json_encode_utf($array) {
	return preg_replace_callback(
					'/\\\\u([0-9a-zA-Z]{4})/',
		function ($matches) {
			return mb_convert_encoding(pack('H*',$matches[1]),'UTF-8','UTF-16');
		},
		json_encode($array)
	);
}
반응형

댓글