PHP 문자열 유니코드 상호변환
컨텐츠 정보
- 15,268 조회
- 0 추천
- 목록
본문
출처 : https://blog.naver.com/bsos1202/221039996477
PHP 문자열 유니코드 상호변환 |
php를 베이스로 한 시스템에서 타 시스템간 문자열 전송 시
캐릭터셋의 유지를 위해 혹은 기타 이유로 유니코드의 상호변경이 필요할 수 있다.
java에서는 Integer.toHexString((in)charAt(i)) 를 통해 가능하며
php를 통한 변환은 아래 코드와 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php if (!function_exists('unicode_encode')) { function unicode_encode($str) { return substr(json_encode($str), 1, -1); } } if (!function_exists('unicode_decode')) { function unicode_decode($str) { return json_decode(sprintf('"%s"', $str)); } } $in = '\uc138\uc158\uc774'; //$in = '세션이'; echo "ㅁ1 = ".unicode_encode($in).PHP_EOL."<br />\n"; echo "ㅁ2 = ".unicode_decode($in).PHP_EOL."<br />\n"; ?> | cs |
주석문과 같이 한글로 하게되면 역으로 변환이 가능한 소스코드이다.
굉장히 심플하게 구현이 가능하다.
-----------------------------------------------------------------------------
출처 : https://sir.kr/g5_tip/11194
json 데이터 유니코드로 나올때
ajax로 데이터 요청이 필요해서 작업하던 도중 데이터가 유니코드로 나와서
찾아서 수정한 내용 공유합니다. JSON_UNESCAPED_UNICODE
<?php
header("Content-Type:application/json");
$data = array();
$ttt = array();
$ttt['it_id'] = 'itid';
$ttt['it_name'] = 'itname';
$ttt['it_bbb'] = '한글 이번엔';
$data['ttt']=$ttt;
$data['view']='aaa';
$data['answer']='bbb';
echo json_encode($data,JSON_UNESCAPED_UNICODE);
?>
{"ttt":{"it_id":"itid","it_name":"itname","it_bbb":"\ud55c\uae00 \uc774\ubc88\uc5d4"},"view":"aaa","answer":"bbb"}
{"ttt":{"it_id":"itid","it_name":"itname","it_bbb":"한글 이번엔"},"view":"aaa","answer":"bbb"}
관련자료
-
링크