pC.NET

Welcome to oscc.kr



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

작성자 : 피시키드

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
 


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



39
  리눅스에서 vino 설정시... 
 피시키드
833 82 2016/01/14
38
  프로텍 as 
 피시키드
2344 134 2014/04/07
37
  테스트 
 피시키드
2501 124 2014/01/28
36
  똠방각하 
 피시키드
2626 141 2013/08/30
35
  안철수 4월20일 보람사거리에서 녹음화일  
 피시넷
2293 114 2013/04/24
34
  pc1412.iptime.org 홈페이지 복구 완료했습니다. 
 피시넷
3173 123 2012/12/20
33
  내가왜 벤이여 피씨 !!! 
 짐배
2337 123 2011/09/26
32
  2번째컴터 정보 
 피시키드
3647 227 2011/03/05
31
   공중PC정보   1
 피시키드
4214 208 2011/03/05
30
  각국 장애인 판정제도  
 피시키드
3033 247 2010/12/04
29
  오호~~~ 
 지나가다
2652 250 2010/08/19
28
  B1L 리눅스 -> 윈도우 갈아타기(USB가상시디) 
 피시키드
4218 251 2010/08/18
27
  에어콘 자가설치 해봅시다.  
 피시키드
2818 296 2010/07/06
26
  수도권 지하철 1974년 8월 15일부터 현재까지. 
 피시키드
2631 248 2010/06/11
25
  확인용  
 검정비닐봉지
2629 236 2010/06/03
24
  확인용  
 검정비닐봉지
2560 208 2010/06/03
23
  2010년기준 장애인복지정책과 등급판정기준  
 피시키드
2881 238 2010/05/21
22
  CITY신문 10.05.14 일자 여행지 추천  
 피시키드
2748 236 2010/05/17
21
  [짤방] 참 쉽죠잉? 
 피시키드
3165 257 2010/05/17
20
  패킷상태를 키보드 LED으로 나타내게 해봅시다. 
 피시키드
2500 251 2010/05/10
19
  반딧불 LED 만들기 (송신LED) 
 피시키드
2775 257 2010/05/10
18
  브릿지 다이오드 
 피시넷
5183 270 2010/05/02
17
  교류, 반파, 정파 
 피시키드
2929 260 2010/05/02
16
  바코드의 종류 
 피시키드
5900 259 2010/04/25
15
  [자료/번역/옮김] Optimizing MySQL  
 피시키드
2996 247 2010/04/22
  mysql db이전 euc-kr -> utf-8 
 피시키드
3048 265 2010/04/22
13
  iptables를 이용한 SSH brute force 공격방어  
 피시넷
3727 242 2010/04/22
12
  http/ftp 오류코드 
 피시넷
3059 259 2010/04/22
11
  벽돌깨기 
 피시키드
3310 265 2010/04/22
10
  화학식에서 쓰이는 수사 
 피시키드
3180 254 2010/03/23

1 [2]



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