티스토리 뷰
(2006/02/07 13:31 작성)
MySQL 4.1.12 상에서 EUC-KR과 UTF-8을 동시에 써야하는 문제가 발생했다.
기존 버전은 EUC-KR기반이었고.. 신 버전은 다국어지원 문제로 UTF-8을 사용하였기에
업그레이드를 위해 기존 버전과 신버전이 동시에 공존하여야 하는 문제가 발생한 것..
DB나 Table이야 각각의 charset에 맞게 설정하면 그만이지만..
Connection은 일단 UTF-8이나 EUC-KR 둘 중에 하나를 선택하여야 한다.
1. 일단, 기존버전을 유지한 상태에서 DB를 copy떠서 charset만 변경시켰다.
원본DB: db_1 → 사본DB: db_2
2. 그리고.. 신버전의 UTF-8의 사용을 위해 DB연결을 시도하였더니 다음과 같은 에러 발견.
Illegal mix of collations (euckr_korean_ci, IMPLICIT) and
(latin1_swedish_ci, COERCIBLE) ...
3. 따라서 Connection을 일치 시켜야만 했다.
그런이유로.. 다음과 같은 파일을 작성하여 include하였다.
<?
/*
* PHP Example
* Language Set
*/
$query = 'set session character_set_connection=utf8;';
mysql_query($query) or die("[#".__LINE__."]".mysql_error());
$query = 'set session character_set_client=utf8;';
mysql_query($query) or die("[#".__LINE__."]".mysql_error());
$query = 'set session character_set_results=utf8;';
mysql_query($query) or die("[#".__LINE__."]".mysql_error());
$query = 'set collation_connection=utf8_unicode_ci;';
mysql_query($query) or die("[#".__LINE__."]".mysql_error());
?>
4. 이후 작성되는 모든 mysql관련 명령어는 UTF-8 의 적용을 받는다.
'Naver Blog Backup' 카테고리의 다른 글
MySQL의 데이터 타입정보 (0) | 2015.05.27 |
---|---|
데이터베이스 입문(Oracle & SQL) 입문 강좌 (1) | 2015.05.27 |
MySQL 5.0, 스토리지와 SQL 분리한 DBMS 업계 다크호스 (0) | 2015.05.27 |
[MySQL] 사용자 추가/권한주기 (0) | 2015.05.27 |
[MSSQL] 테이블의 컬럼명과 컬럼명이 포함된 테이블 찾는 쿼리 (0) | 2015.05.27 |