* 서버에 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);
'mysql' 카테고리의 다른 글
utf8mb4을 utf8로 변환, mysql 5.6 to 5.1 (0) | 2018.11.07 |
---|---|
mysql 4.0 이하에서 bin 로그 제거 (0) | 2018.07.26 |
mysql에서 기본 캐럭터 셋 설정 (0) | 2018.02.21 |
mysqldump DROP TABLE IF EXISTS 추가 옵션 (0) | 2017.05.02 |
mysql my.cnf 파일 (0) | 2017.02.28 |
댓글