pC.NET

Welcome to oscc.kr



 mysql db이전 euc-kr -> utf-8
2010-04-22 15:32:44
Hit : 4119, Vote : 537

작성자 : 피시키드

euckr 을 utf8 로 변경 시 한글은 깨질수 밖에 없다니 당치도 않습니다.

euckr을 utf8로 변경하는 작업을 많이 했었는데, 아무런 문제 없이 utf8로 변경했었습니다.

주로 제로보드 이전 버전을 utf8로 변경하기 위해서 많이 했었죠.

아래 말씀드리는 사항은 euckr을 utf8로 변경하기 위한 제 나름대로의 팁입니다.

(utf8로 변경하는 방법은 아주 많기 때문에 아래 방법을 따르지 않아도 변환 가능하다는 점을 미리 말씀드립니다.)

1.

sql 파일을 생성할 때 4.1 버전부터는 default-character-set을 지정하지 않으면 utf8로 설정됩니다. mysqldump를 할 때 반드시 테이블의 문자셋과 동일한 default-character-set(즉 euckr)으로 지정해줘야 좋습니다.


mysqldump --default-character-set=euckr a > a.sql

2.

mysqldump로 만든 sql 파일을 iconv를 이용해 utf8로 미리 변환하는게 좋습니다.

eucKR 대신에 CP949를 쓰는게 더 좋을 경우가 많았습니다.


iconv -f CP949 -t UTF-8

3.

sql 파일에서 character set 관련 설정이 있다면 지우는게 작업이 편합니다.


CREATE TABLE `zetyx_admin_table` (
...
) ENGINE=MyISAM DEFAULT CHARSET=euckr;

위 부분을 아래처럼 바꾸면 됩니다.


CREATE TABLE `zetyx_admin_table` (
...
) ENGINE=MyISAM;

sql 파일 크기가 너무 커서 편집하기가 힘들다면 mysqldump를 할 때 스키마와 데이터를 분리해서 만들면 용량 작은 스키마 파일만 편집하면 되니 편합니다.


mysqldump --no-data --default-character-set=euckr a > a_schema.sql
mysqldump --no-create-info --default-character-set=euckr a > a_data.sql

테이블 스키마만 저장하기 위해서는 --no-data 옵션을 주면 됩니다. 반대로 데이터 insert문만 저장하기 위해서는 --no-create-info 옵션을 주면 됩니다.

4.

mysqldump를 할 때 옵션을 어떻게 줬느냐에 따라 sql 파일 내에 set names euckr이라는 부분이 들어가 있을 수 있습니다.

들어가 있다면 이 부분을 지우고

sql 파일 맨 앞에 아래 부분을 추가해주는 것이 좋습니다.


set names utf8;

5.

옮겨갈 서버 설정에 따라 불필요할 수 있습니다만, 데이터베이스를 만들 때 ut8을 명시해 주는 것이 좋습니다.


CREATE DATABASE  db_name DEFAULT CHARACTER SET utf8

데이터베이스를 만들었다면 다음과 같이 제대로 utf8로 설정되었는지 확인해보십시오.


mysql> USE db_name;
Database changed
mysql> SHOW VARIABLES LIKE '%DATABASE';
+------------------------+-----------------+
| Variable_name          | Value           |
+------------------------+-----------------+
| character_set_database | utf8            |
| collation_database     | utf8_general_ci |
| skip_show_database     | OFF             |
+------------------------+-----------------+

--
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

 

원문 : http://kldp.org/node/95722
 


  피시키드
아하하하하-_-;;;
 2680
 14



45
비밀글입니다  정리노트-안드로이드 프로그래밍  
 피시키드
3 0 2018/10/17
44
  aa 
 피시키드
163 30 2018/10/16
43
  파일 내부 문자열 교체 (find,perl) 
 피시키드
183 33 2018/10/15
42
  HP 200LX 구매하고 싶습니다.   1
 Veritas
741 173 2018/04/30
41
비밀글입니다  aps  
 피시키드
5 0 2018/03/05
40
  phpmyadmin #1698 
 피시키드
1153 216 2018/02/21
39
  리눅스에서 vino 설정시... 
 피시키드
1689 316 2016/01/14
38
  프로텍 as 
 피시키드
3127 355 2014/04/07
37
  테스트 
 피시키드
3268 343 2014/01/28
36
  똠방각하 
 피시키드
3435 378 2013/08/30
35
  안철수 4월20일 보람사거리에서 녹음화일  
 피시넷
3153 326 2013/04/24
34
  pc1412.iptime.org 홈페이지 복구 완료했습니다. 
 피시넷
4003 348 2012/12/20
33
  내가왜 벤이여 피씨 !!! 
 짐배
3162 339 2011/09/26
32
  2번째컴터 정보 
 피시키드
5112 455 2011/03/05
31
   공중PC정보   1
 피시키드
5050 412 2011/03/05
30
  각국 장애인 판정제도  
 피시키드
3867 525 2010/12/04
29
  오호~~~ 
 지나가다
3540 517 2010/08/19
28
  B1L 리눅스 -> 윈도우 갈아타기(USB가상시디) 
 피시키드
5035 497 2010/08/18
27
  에어콘 자가설치 해봅시다.  
 피시키드
3666 572 2010/07/06
26
  수도권 지하철 1974년 8월 15일부터 현재까지. 
 피시키드
3480 537 2010/06/11
25
  확인용  
 검정비닐봉지
3487 500 2010/06/03
24
  확인용  
 검정비닐봉지
3365 443 2010/06/03
23
  2010년기준 장애인복지정책과 등급판정기준  
 피시키드
3723 521 2010/05/21
22
  CITY신문 10.05.14 일자 여행지 추천  
 피시키드
3853 497 2010/05/17
21
  [짤방] 참 쉽죠잉? 
 피시키드
4254 507 2010/05/17
20
  패킷상태를 키보드 LED으로 나타내게 해봅시다. 
 피시키드
3377 515 2010/05/10
19
  반딧불 LED 만들기 (송신LED) 
 피시키드
3652 530 2010/05/10
18
  브릿지 다이오드 
 피시넷
8432 535 2010/05/02
17
  교류, 반파, 정파 
 피시키드
3755 528 2010/05/02
16
  바코드의 종류 
 피시키드
8833 539 2010/04/25

1 [2]



Copyright (C) 1997-2018 All Rights Reserved.
Seasons 2