PHP & Others

PHP 문자열 유니코드 상호변환

컨텐츠 정보

본문

출처 : 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"} 


관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
자신의 날갯짓만큼 더 높이 나는 새는 없다. (W. 블레이크)