프로그래밍/PHP

[PHP] 문자 인코딩 변환하기 (iconv 함수)

떨어지는 용 2017. 12. 23. 11:00

▶PHP 문자 인코딩 변환하기 (iconv 함수)



▶설명


외부에서 가져온 문자(Database 혹은 include 한 파일)가 현재 파일의 인코딩(= 문자셋 혹은 charset)과 맞지 않는 경우, 문자가 깨지는 경우가 발생합니다. (특히 한글이 그렇습니다.)

그렇기 때문에, 이번에는 인코딩이 맞지 않는 경우 문자에 인코딩을 변환하는 함수에 대해 알아보겠습니다.


PHP 함수 중 하나인 iconv 함수는 다음과 같은 기능을 가지고 있습니다.
문자열을 요청 된 문자 인코딩으로 변환합니다.


▶사용법


강조 처리된 부분만 필수 입력 사항입니다.

iconv(문자열 charset, 변경할 charset, 문자열)


▶예제



config/constants.php (인코딩 : EUC-KR)

<?php
define('TEST', "테스트");
?>

Index.php (인코딩 : UTF-8)

<?php
include("config/constants.php");

echo "원본 : ".TEST;
echo "<br/>"; // 줄 바꿈
echo "변환 : ".iconv("EUC-KR", "UTF-8", TEST);
?>


결과

원본 : �׽�Ʈ
변환 : 테스트