반응형
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)
);
}
반응형
'소프트웨어 개발 > PHP' 카테고리의 다른 글
[PHP 기초강좌] PHP란 무엇인가? (0) | 2023.01.29 |
---|---|
[PHP 기초강좌] PHP 환경설치 - Nginx + PHP8.1 + mariadb (0) | 2023.01.29 |
정규식 preg_match - 정수(숫자), 실수 체크 (0) | 2022.11.19 |
php에서 sha3 구현 (0) | 2022.08.20 |
[코드이그나이터4] env파일이 반영이 안될 경우 (0) | 2022.02.14 |
댓글