[php] iconv 함수 문자

다른 위치에서 데이터를 가져올 때 문자 집합이 일치하지 않으면 아래와 같이 문자가 깨져서 나타납니다.


깨진 텍스트

이 경우 아래와 같이 iconv 함수를 사용하여 문자를 인코딩할 수 있습니다.

쉬운 목차

iconv 함수

iconv(기존 Charset, 변환할 Charset, 문자열);

저의 경우 웹 DB(UTF-8)에 있는 데이터를 엑셀로 출력하는 코드를 만들었는데 아래와 같이 한글 문자열 부분만 변경하면 됩니다.

이 함수는 문자열을 UTF-8에서 UHC로 변환합니다.

iconv('UTF-8', 'UHC', 문자열);

UHC란?

UHC(별명은 CP949)는 확장완성형(구체화 시간각도 odeset의 약자) EUC-KR에서 표현할 수 없는 문자까지 인코딩 범위를 확장한 문자 집합입니다.

EUC-KR의 경우 한 가지 문제점은 2,350자를 제외한 모든 한글 문자를 생략했기 때문에 EUC-KR 대신 UHC를 사용하면 인코딩 범위를 확장하고 더 안전할 수 있습니다.

iconv_euckr함수

UTF-8을 EUC-KR로 변환하려면 다음을 사용할 수 있습니다.

iconv('UTF-8', 'EUC-KR', 문자열);

iconv_euckr 함수를 사용하면 변환 전의 문자셋과 상관없이 euc-kr로 바로 변환할 수 있습니다.

iconv_euckr(문자열);

iconv_uhc가 없습니다…