ÃֽŠ°Ô½Ã±Û(DB)
2017.03.13 / 13:45

euc-kr latin1 ¹®ÀÚÄÚµå character set utf-8 ÄÁ¹öÆà º¯°æ Çϱâ

Mans
Ãßõ ¼ö 318

¼³¸í

MySQL 5.x ´ë¿¡¼­ ±âº»ÀûÀ¸·Î »ý¼ºµÇ´Â DBÀÇ ¹®ÀÚÄÚµå´Â 'latin1'ÀÔ´Ï´Ù. ÀÌ °æ¿ì ÇÑ±Û Äõ¸®·Î ÀÛ¾÷½Ã ¿øÇÏ´Â °á°ú°¡ Ãâ·ÂµÇÁö ¾Ê½À´Ï´Ù. ÀÌ °æ¿ì ±âÁ¸ µ¥ÀÌÅÍÀÇ °æ¿ì ¹é¾÷¹Þ¾Æ utf8 ÄÚµå ÇüÅ·ΠÀüȯÇØ¾ß ÇÕ´Ï´Ù. 

¿ä¾à

1. µ¥ÀÌÅͺ£À̽º ¹®ÀÚ ÄÚµå È®ÀÎ
2. ±âÁ¸ µ¥ÀÌÅͺ£À̽º ¹é¾÷, »õ µ¥ÀÌÅͺ£À̽º »ý¼º
3. ¹é¾÷ µ¥ÀÌÅÍ ¼öÁ¤(euckr ¶Ç´Â utf8)
4. ¹é¾÷ µ¥ÀÌÅÍ º¹±¸
5. MySQL ȯ°æ¼³Á¤(my.cnf) ÆÄÀÏ ¼öÁ¤


1. µ¥ÀÌÅͺ£À̽ºÀÇ ¹®ÀÚÄڵ带 È®ÀÎÇÕ´Ï´Ù.

È®ÀÎÇÏ´Â ¹æ¹ýÀº MySQL¿¡ Ŭ¶óÀ̾ðÆ®·Î Á¢¼ÓÇؼ­ 

mysql > use µðºñ¸í;
mysql > show variables like 'c%';

¼³Ä¡ ÈÄ MySQL ¼³Á¤(my.cnf µî)À» ¹Ù²ÙÁö ¾Ê¾Ò´Ù¸é 'latin1'·Î ¸ÂÃçÁ® ÀÖ½À´Ï´Ù.   


2. ±âÁ¸ µ¥ÀÌÅͺ£À̽º¸¦ ¹é¾÷ÇÕ´Ï´Ù.

¸®´ª½º Å͹̳ο¡¼­ 

$ mysqldump -u root -p µðºñ¸í --default-character-set latin1 > µðºñ¸í.sql

´Ù¸¥ DB ¸íÀ̶ó¸é µðºñ¸¦ »õ·Î ¹Þµé¸é µÇÁö¸¸ °°Àº À̸§ÀÇ DB¸íÀ» ½á¾ßÇÑ´Ù¸é »èÁ¦¸¦ ÇؾßÇÕ´Ï´Ù.

mysql > drop database µðºñ¸í;

MySQL¿¡ Ŭ¶óÀ̾ðÆ®¿¡¼­ DB¸¦ ¸¸µì´Ï´Ù. 

mysql > create database µðºñ¸í default character set utf8;


3. ¹é¾÷¹ÞÀº µ¥ÀÌÅ͸¦ ¼öÁ¤ÇÕ´Ï´Ù. 

$ vi µðºñ¸í.sql

MySQL·Î Á¢¼ÓÇϴ Ŭ¶óÀ̾ðÆ®ÀÇ ¹®ÀÚÄڵ忡 µû¶ó ´Þ¸® ó¸®ÇØ ÁÝ´Ï´Ù.

utf8À» »ç¿ëÇÑ´Ù¸é SET NAMES latin1; À» ã¾Æ latin1À» utf8·Î ¹Ù²ß´Ï´Ù.  
euckrÀ» »ç¿ëÇÑ´Ù¸é SET NAMES latin1; À» ã¾Æ latin1À» utf8·Î ¹Ù²ß´Ï´Ù.  

Ȥ½Ã ¸ð¸£´Ï latin1 À̶õ À̸§À¸·Î Çѹø ã±â¸¦ Çغ» ÈÄ¿¡ 

1,$s/latin1/utf8/g  ·Î ÆÄÀÏ ÀüüÀÇ ¹®ÀÚ¿­À» ¹Ù²ß´Ï´Ù.


4. ¹é¾÷µ¥ÀÌÅ͸¦ º¹±¸ÇÕ´Ï´Ù.

$ mysql -u root -p µðºñ¸í < µðºñ¸í.sql


5. MySQL ȯ°æ¼³Á¤(my.cnf) ÆÄÀÏÀ»  ¼öÁ¤ÇÕ´Ï´Ù.
¿ìºÐÅõ : /etc/mysql/my.cnf
·¹µåÇÞ5 ¿£ÅÍÇÁ¶óÀÌÁî : /etc/my.cnf

$ vi my.cnf

[client]
default-character-set=utf8

[mysqld]
init_connect=SET collation=utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8                      # »õ DB »ý¼º½Ã character-set ¿É¼Ç ¾øÀ»½Ã ±âº»°ª
collation-server=utf8_general_ci

°¢ [] Ç׸ñº°·Î Ãß°¡ÇØÁÝ´Ï´Ù. 

Àç±âµ¿ ÇÕ´Ï´Ù. ÅÃ1..

# service mysqld restart    <-- ¸®´ª½º °è¿­
# /etc/rc.d/mysql restart    <-- BSD °è¿­
# /etc/init.d/mysqld restart     <-- ¸®´ª½º °è¿­







ÀÌ¿Í´Â º°°³·Î utf8 °ú euckrÀ» È¥¿ëÇؼ­ ¾²´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. Áö±ÝÀº ´ëºÎºÐ euckr¿¡¼­ utf8·Î °¥¾Æź »óȲÀÔ´Ï´Ù¸¸ ÇÊ¿äÇÑ °æ¿ì ´ÙÀ½À» Âü°í ÇÕ´Ï´Ù.

[Âü°í±Û]MySQL UTF-8,EUC-KR °°ÀÌ ¾²´Â °æ¿ì ij¸¯Åͼ ¹®Á¦ ÇØ°á

¿ä¾àÇÏÀÚ¸é,  

1. my.cnf ÆÄÀÏÀÇ ¼³Á¤À» ¹Ù²ß´Ï´Ù. 

[mysqld] Ç׸ñ¿¡
character_set_server=euckr           <-- »õ·Î DB »ý¼º½Ã ±âº»°ª, ÁÖ·Î ¾²´Â°Ô utf8À̶ó¸é utf8·Î ÁöÁ¤ÇÕ´Ï´Ù. 
init_connect=SET names binary      <-- ÀÌ ºÎºÐ Ãß°¡

2. µðºñ ¹é¾÷ ¶Ç´Â Àüü µðºñ ¹é¾÷(mysqldump -A)ÇÕ´Ï´Ù.

3. ¹é¾÷ µ¥ÀÌÅÍ ¼öÁ¤ÇÕ´Ï´Ù.

3.1 ij¸¯ÅͼÂÀÌ Çϳª¶ó¸é °Ç³Ê ¶Ù¾îµµ ¹«¹æÇÕ´Ï´Ù.

3.2 ¿©·¯ ij¸¯Åͼ »ç¿ë½Ã DB »ý¼º ºÎºÐ¿¡ ij¸¯ÅͼÂÀ» ¼öÁ¤ÇÕ´Ï´Ù. 
´Ü, À§ÀÇ character_set_server ¿¡¼­ ÁöÁ¤ÇÑ Ä³¸¯ÅͼÂÀ¸·Î DB¸¦ ¸¸µé±â¶§¹®¿¡ ´Ù¸¥ ij¸¯ÅͼÂÀ¸·Î ÇÒ DB¸¸ ¼öÁ¤ÇÕ´Ï´Ù. 

¿ø·¡:

(..»ý·«..)
CREATE DATABASE /*!32312 IF NOT EXISTS*/ ctest-euc-kr;
(..»ý·«..)
CREATE DATABASE /*!32312 IF NOT EXISTS*/ ctest-utf-8;
(..»ý·«..)

¼öÁ¤:

(..»ý·«..)
CREATE DATABASE /*!32312 IF NOT EXISTS*/ ctest_euc_kr;
(..»ý·«..)
CREATE DATABASE /*!32312 IF NOT EXISTS*/ ctest_utf_8 CHARACTER SET utf8;
(..»ý·«..)

3.3 DB º°·Î ¹é¾÷¹Þ¾Ò´Ù¸é Çϳª¾¿ DB¸¦ ¸¸µé¸é¼­ charsetÀ» ÁöÁ¤ÇØ ÁÝ´Ï´Ù.

4. DB¸¦ º¹±¸ÇÕ´Ï´Ù.

mysql -p --default-character-set=binary < dump.sql

DB¿¡ µû¶ó ´Ù¸£°Ô ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

mysql -p --default-character-set=euckr < dump.sql
mysql -p --default-character-set=utf8 < dump.sql



UTF-8 µ¥ÀÌÅͺ£À̽º¶óµµ, ÇØ´ç µðºñ ¼¼ÆÃÀ» euc-kr ·Î Çϸé ÇØ´ç µðºñ´Â euc-kr ·Î º¸ÀÔ´Ï´Ù.

ALTER DATABASE `µðºñ` DEFAULT CHARACTER SET euckr COLLATE euckr_korean_ci 
ALTER TABLE `Å×À̺í` DEFAULT CHARACTER SET euckr COLLATE euckr_korean_ci

µîÀÇ ¸í·É¾î·Î ¹Ù²Ù½Ç ¼ö ÀÖ°í, phpMyAdmin ÀÇ "Å×À̺í ÀÛ¾÷" ÅÇ¿¡¼­µµ °¡´ÉÇÕ´Ï´Ù.

µ¥ÀÌÅͺ£À̽º°¡ °ñ¶óÁø »óÅ¿¡¼­ "Å×À̺í ÀÛ¾÷" ÅÇÀ» ´©¸£¸é µ¥ÀÌÅͺ£À̽ºÀÇ Ä³¸¯ÅͼÂÀ»,
Å×À̺íÀÌ °ñ¶óÁø »óÅ¿¡¼­ "Å×À̺í ÀÛ¾÷" ÅÇÀ» ´©¸£¸é Å×À̺íÀÇ Ä³¸¯ÅͼÂÀ» ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.
ÀÌ Ä³¸¯ÅͼÂÀÌ Á¦´ë·Î ÁöÁ¤µÇÁö ¾ÊÀº °æ¿ì¿£ Á¤·ÄÀ̳ª ±ÛÀÚ ¼ö ¶§¹®¿¡ ¹®Á¦°¡ »ý±æ ¼ö ÀÖÀ¸´Ï ÁÖÀÇÇϼ¼¿ä.


---------------------------------------------------------------------

¿©±â±îÁöÀÔ´Ï´Ù. kldp ÀÚ·á°¡ ³¯¾Æ °¥±îÇؼ­ ¿Å°Ü³ù½À´Ï´Ù. Á»´õ ÀÚ¼¼ÇÑ »çÇ×Àº ¸µÅ©¸¦ Âü°íÇÏ¸é µË´Ï´Ù. 



Ãâó: http://gudle.net/352 [±¸µé °øÀÛ¼Ò¢â v0.9]