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}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
3.31
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
5.1
5.2
5.3
5.4