[함수] iconv 언어셋 옵션 //TRANSLIT , //IGNORE
iconv 사용시
utf-8 => euc-kr, cp949
위 처럼 변환하는 경우
목적지 언어셋에 없는 문자가 변환에 문제가 되는 경우가 있다.
옵션 없음
옵션이 없이 사용할 경우 표현할 수 없는 문자 부터 뒤로는 전부 사라진다.
(밑의 첫번째 예제 참고)
//TRANSLIT
If you append the string //TRANSLIT to out_charset transliteration is activated. This means that when a character can't be represented in the target charset, it can be approximated through one or several similarly looking characters.
(php 함수 메뉴얼에서)
나타낼 수 없는 문자일 경우, 문자를 유사한 문자로 표시함.
한글의 경우 자음,모음 분리됨.(밑의 예제 참고)
A 같은 라틴 문자는 부호+알파벳으로 분리됨
//IGNORE
If you append the string //IGNORE, characters that cannot be represented in the target charset are silently discarded.
(php 함수 메뉴얼에서)
나타낼 수 없는 문자일 경우, 문자를 삭제함.
//IGNORE//TRANSLIT , //TRANSLIT//IGNORE
둘을 동시에 사용할 경우, //TRANSLIT 으로 동작함.
$v='AA가힣똚헳나';
$r =iconv('utf-8','euc-kr',$v);
echo '$r : ',$r,':',urlencode($r);
=>
$r : A:A
$v='A가힣똚헳나';
$r = iconv('utf-8','euc-kr//TRANSLIT',$v);
echo '$r : ',$r,':',urlencode($r);
=>
$r : A´A가ㅎㅣㅎㄸㅗㄻㅎㅔㅀ나:A%A2%A5A%B0%A1%A4%BE%A4%D3%A4%BE%A4%A8%A4%C7%A4%AB%A4%BE%A4%C4%A4%B0%B3%AA
$v='A가힣똚헳나';
$r = iconv('utf-8','euc-kr//IGNORE',$v);
echo '$r : ',$r,':',urlencode($r);
=>
$r : A가나:A%B0%A1%B3%AA
'개발-PHP' 카테고리의 다른 글
[함수] PHP 레이아웃을 깔쌈하게 꾸미기 (0) | 2016.03.30 |
---|---|
[함수] 이미지정보추출 (0) | 2016.03.30 |
[함수] CURL 로 멀티 쓰레드 날리기 (0) | 2016.03.30 |
[함수] 다중(타)디비 컨넥 이용하기 (php클래스) (0) | 2016.03.30 |
[함수] EUC-KR 환경에서 유니코드 문자 손상 없이 (0) | 2016.03.30 |