마스터포유(Master4U)
Monday, 17 of January
 

로그인 Category
MySQL 4.1.x 문자셋, 인코딩, UTF-8
관리자  2008-02-10 12:08:46 Hit:1806
링크 #1: http://blog.naver.com/neoi?Redirect=Log&logNo=120012933124

[펌] MySQL 4.1.x 문자셋, 인코딩, UTF-8

mysql

2005/05/11 23:00

출처 블로그 > copy & paste
원본 http://blog.naver.com/news2day/60011649808
MySQL 4.1.x 문자셋, 인코딩, UTF-8
2005/03/13 오전 1:23 | 데이터베이스

오밤중에 잠이 안와서 MySQL 갖고 노는 중..

현재 나의 Fedora Core 3 UTF-8 리눅스 상에서, JDBC와 한글 문제를 일으키지 않는 MySQL 4.1.x 설정 상태는...

기존 버전에서는 "euc-kr"로 표기되는 문자셋이 "euckr"로 바뀌었다.

/etc/my.cnf

[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysqldump]
default-character-set=utf8

JDBC Driver URL

jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=UTF8

현제 문자셋 정보 보기

show variables like 'c%';
- 결과
character_set_client : utf8
character_set_connection : utf8
character_set_database : utf8
character_set_results : utf8
character_set_server : utf8
character_set_system : utf8
character_sets_dir : /usr/share/mysql/charsets/
collation_connection : utf8_general_ci
collation_database : utf8_general_ci
collation_server : utf8_general_ci

이미 생성된 DATABASE의 문자셋 바꾸기

mysql> SET character_set_client = utf8;
mysql> SET character_set_results = utf8;
mysql> SET character_set_connection = utf8;
mysql> ALTER DATABASE [DB명] DEFAULT CHARACTER SET utf8;

이미 데이터가 들어간 테이블의 문자셋 변환

create table test (merong varchar(20) collate latin1_general_ci);

이렇게 만들어진 테이블에 한글 데이터를 넣은 후 필드를 euckr 로 변경하려면
다음처럼 해야 합니다.

alter table test modify merong binary(100);
alter table test modify merong varchar(20) collate euckr_korean_ci;

binary 로 바꾸면 문자셋 특성이 사라지기 때문에 이런 변환과정을 거쳐야
합니다(메뉴얼에 의하면). 그냥 바꾸면 문자들이 손상됩니다.
참조 : Database.sarang.net에 올라온 글




기타 MySQL 한글(대부분 UTF-8) 사용에 관한 문제를 계속 이 글에 추가할 예정

  추천수 (0)  답글 (0)  참조글 (0) http://kr.blog.yahoo.com/kwon37xi/1236536.html  

출력하기 취소
본문인쇄본문메일발송
UFT8 에서 euckr로 변경 방법
MySQL 업그레이드(upgrade) -- 첫번째(4.1버전) [1]
Copyright 1999-2019 Zeroboard / skin by ChanBi