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 함수 메뉴얼에서)
    • 나타낼 수 없는 문자일 경우, 문자를 유사한 문자로 표시함.
      한글의 경우 자음,모음 분리됨.(밑의 예제 참고)
      Á 같은 라틴 문자는 부호+알파벳으로 분리됨
  • //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='AÁ가힣똚헳나';
$r =iconv('utf-8','euc-kr',$v);
echo '$r : ',$r,':',urlencode($r);
=> 
$r : A:A

$v='Á가힣똚헳나';
$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='Á가힣똚헳나';
$r = iconv('utf-8','euc-kr//IGNORE',$v);
echo '$r : ',$r,':',urlencode($r);
=> 
$r : A가나:A%B0%A1%B3%AA

댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
제목 작성자 날짜
공대여자
공대여자
mins01
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자