본문 바로가기
mysql

mysql DB utf-8 한글 깨짐 현상

by 씨엔아이소프트 2017. 2. 11.
반응형

*  서버에 utf8-general-ci 로 DB가 생성되었는데,  데이타를 쿼리하고 화면에 뿌리면 한글이 깨져서 보인다. 
깨지는 이유는 mysql 서버 기본 문자셋이 euc-kr로 설정이 되어 있다.
해결 방법은 mysql_select_db 이전에 mysql_set_charset를 아래의 예처럼 설정한다.


    $connect = mysql_connect($host, $id, $pw);
    if(!$connect) die ( 'DB접속 실패'.mysql_error() );
 
    mysql_set_charset("utf8", $connect);

    * euc-kr 일때는  mysql_set_charset("euckr", $connect);


    $DB_NAME = "board_db";
    $db_select = mysql_select_db($DB_NAME, $connect);
    if( !$db_select) die ("Can\'t use ".$DB_NAME.": ". mysql_error());

 

mysql를 UTF-8 전용 으로 설정하려면, /etc/my.cnf 에 아래의 내용을 추가해주고 mysql를 재시작한다.

[client]
default-character-set=utf8

[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci


[mysql]
default-character-set=utf8


** 위와 반대 일경우

mysql_set_charset("euckr", $connect);




반응형

댓글