PHP를 사용하여 개발하다보면, 한글로 된 값이 나올때도 있을 수 있습니다. 그런데 PHP를 통하면 DB에 깨져서 들어간다던지, 아니면 html 값이 깨질 때도 있습니다.
PHP를 통했을때 한글이 깨지는 현상 해결하는 방법엔 여러가지가 있습니다.
먼저 한글 깨지는 현상이 DB나 클라이언트 문제가 아닌 PHP가 원인인지 확인후 진행하는것이 좋습니다.
Mysql 입출력 방식이 문제였던 저 같은 경우에는 마지막 방법으로 성공하였습니다.
1. 인코딩 방식 통일(PHP 저장 방식, 웹 형식 모두 utf-8로 통일)
문서 저장 방식을 모두 하나로 통일하는 방법입니다.
2. iconv() 사용
iconv("현재 인코딩", "바꿀 인코딩", 바꿀 문자열)
사용 예시 )
$ex = iconv("utf8", "euckr", $ex);
3. Mysql 입출력 인코딩을 지정
Mysql 연동을 한다면 입출력 인코딩이 달라서가 원인이 될 수 있다고 합니다.
아래 3줄의 소스를 추가함으로써 해결하였습니다.
mysql_query("set session character_set_connection=utf8;");
mysql_query("set session character_set_results=utf8;");
mysql_query("set session character_set_client=utf8;");
4. php가 출력하는 html을 utf-8로 변경
PHP에서 출력하는 html을 utf-8로 변경함으로써 해결합니다.
PHP내용 <?,?> 위 아래로 추가합니다.
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body>
<?
PHP 내용
?>
</body>
</html>
참고한 사이트 : http://ra2kstar.tistory.com/59