안녕하세요.
현재 한국어 중국어 일본어 등등 아시아 지역의 언어를 MySQL 3.xx 에서 사용하고 있습니다.
여기 데이터를 MySQL 5.0xx 버전으로 옮기려고 하는데, 참 잘 안되네요.
3.xx 에서의 Show variables 중 character set 값은 아래와 같습니다.
| character_set | euc_kr |
| character_sets | euc_kr dec8 dos german1 hp8 koi8_ru latin1 latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5 |
5.0xx 에서는 갖가지 euckr과 utf8 로 설정해서 각각 시도 해봤죠.
+--------------------------+-----------------------------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------------------------+
| character_set_client | euckr |
| character_set_connection | euckr |
| character_set_database | euckr |
| character_set_filesystem | binary |
| character_set_results | euckr |
| character_set_server | euckr |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.0.51a-linux-i686/share/mysql/charsets/ |
+--------------------------+-----------------------------------------------------------+
3.xx 데이터를 euckr 로 설정된 5.0.xx 로 넣으면 중국어 일본어 부분에 중복키 에러가 발생합니다.
또한 3.xx 데이터를 utf8 로 설정된 5.0.xx 로 넣으면 대부분의 문자들이 빈공백으로 들어가서 또 중복키 에러가 발생합니다.
중복키 에러 발생이 가장 적은 경우를 해 보았더니 3.xx 데이터에서 create 테이블 구분에 charset=utf8 로 하고 euckr로 설정된 5.0.xx 에 넣을 경우더군요.
사용중인 OS는 리눅스 입니다. CentOS 최신판입니다.
혹시 이와 관련해서 해결하신 분들의 조언을 구합니다.
고맙습니다.
|