MYSQL
HOME > DB > MYSQL
2017.04.27 / 20:39

mysql ÀÌ¹Ì µ¥ÀÌÅÍ°¡ µé¾î°£ Å×À̺íÀÇ UTF-8 ¹× °¢Á¾ ¹®Àڼ º¯È¯

Scoda
Ãßõ ¼ö 328

ÇöÀç ³ªÀÇ 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 ·Î ¹Ù²Ù¸é ¹®Àڼ Ư¼ºÀÌ »ç¶óÁö±â ¶§¹®¿¡ ÀÌ·± º¯È¯°úÁ¤À» °ÅÃľߠ
ÇÕ´Ï´Ù(¸Þ´º¾ó¿¡ ÀÇÇϸé). ±×³É ¹Ù²Ù¸é ¹®ÀÚµéÀÌ ¼Õ»óµË´Ï´Ù. 


[Ãâó] http://rayis.egloos.com/841786


±âÁ¸ EUC-KR µ¥ÀÌŸ¸¦ 4.1.x·Î ¿Å±â±â 
=================================== 
4.1.1 alpha ¿¡¼­ ÇÑ±Û Á¦´ë·Î ¼³Á¤Çϱâ 
mysqlÀÌ 4.1·Î ¾÷±×·¹ÀÌµå µÇ¸é¼­ ¼­ºêÄõ¸®°¡ Áö¿øµÇ°Ô µÇ¾î 

¾Æ¸¶µµ ¸¹Àº »ç¶÷µéÀÌ °³¹ß½ÃÁ¡¿¡¼­ ÇÑ ¹øÂëÀº mysql4.1À» »ç¿ëÇÒÁö 

°í¹ÎÇßÀ¸¸®¶ó »ý°¢ÇÕ´Ï´Ù. 

±×·¯³ª ¾ÆÁ÷ Á¦´ë·ÎµÈ ¹öÀüÀÌ ¾Æ´Ñ°ü°è·Î ¹öÁ£ÇÑ ¸Þ´º¾óÀÌ ¾ø¾î 

º¯È­µÈ localization¼ÂÆö§¹®¿¡ ¸¹Àº ºÐµéÀÌ °í»ýÇßÀ» °ÍÀÌ¶ó ¿¹»óÇÕ´Ï´Ù. 



mysql4.1¿¡¼­´Â 4.0¿¡¼­Ã³·³ default character setÇϳª¸¸ ¹Ù²ãÁÖ¸é ³¡³ªÁú 

¾Ê½À´Ï´Ù. ¼­¹ö/µ¥ÀÌÅͺ£À̽º/Å×À̺í/connection/ ½ÉÁö¾î Çʵå 

ÇϳªÇϳª, ½ºÆ®¸µ ÇϳªÇϳª±îÁöµµ character set°ú collationÀ» ¼³Á¤ÇÒ ¼ö 

ÀÖ°Ô µÇ¾ú½À´Ï´Ù. ±×·¡¼­ 4.0¿¡¼­ ¼­ºñ½ºÇÏ´ø »çÀÌÆ®¸¦ 4.1·Î 

µ¥ÀÌÅ͸¦ ¿Å±â´Â °úÁ¤¿¡¼­ ÇѱÛÀÌ ±úÁö´Â Çö»óÀÌ ¹ß»ýÇÕ´Ï´Ù. 



½±°Ô ¸»¾¸µå¸®¸é 4´Ü°è¿¡ °ÉÃļ­ °¢°¢ character set°ú collationÀ» 

º¯°æÇØÁÖ½Ã¸é µË´Ï´Ù. ¿ì¼± µ¥ÀÌÅͺ£À̽º¸¦ ´ÙÀ½°ú °°ÀÌ »õ·Î »ý¼ºÇÕ´Ï´Ù. 



>> create database DB_NAME character set euckr collation euckr_korean_ci 



±×¸®°í 4.0ÀÇ µ¥ÀÌÅ͸¦ ½ºÅ©¸³Æ®·Î º¹»çÇÑ ´ÙÀ½ °¢°¢ÀÇ Å×ÀÌºí ³¡¿¡ 

ºÙ¾îÀÖ´Â character setÀ» euc-kr À̳ª latin1¿¡¼­ euckr·Î º¯°æÇØÁÝ´Ï´Ù. 

(4.1¿¡¼­ ÇѱÛÀÇ character setÀ̸§ÀÌ euc-kr¿¡¼­ euckr·Î º¯°æµÇ¾ú½À´Ï´Ù.) 



±×·± ´ÙÀ½ mysql À» --default-character-set=euckr --default-collation=euckr_korean_ci ÀÇ ¿É¼ÇÀ» ÁÖ¾î ½ÇÇà½ÃÅ°¸é¼­ ÀڷḦ ´ýÇÁ¹Þ½À´Ï´Ù. 



>> mysql -uroot -p --default-character-set=euckr --default-collation=euckr_korean_ci < DB_SCRIPT.SQL 

(DB_SCRIPT.SQLÆÄÀÏÀº 4.0¿¡¼­ ¹ÞÀº µ¥ÀÌÅÍ ½ºÅ©¸³Æ®ÆÄÀÏÀÌ°ÚÁÒ.) 



±×·¸°Ô Çϸé ÀÏ´Ü µ¥ÀÌÅͺ£À̽º ¾îÇʸ®ÄÉÀ̼Ç(¿¹¸¦ µé¸é SQLyog°°Àº ÇÁ·Î±×·¥)¿¡¼­´Â Á¤»óÀûÀ¸·Î µ¥ÀÌÅ͸¦ º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. 

ÇÏÁö¸¸ JDBC¸¦ »ç¿ëÇؼ­ Á¢¼ÓÇÏ´Â °æ¿ì connection charactersetÀ» µû·Î 

¼³Á¤ÇØÁÖÁö ¾ÊÀ¸¸é ÇѱÛÀÌ ±úÁú °ÍÀÔ´Ï´Ù. 

Àú°°Àº °æ¿ì ¾îÇø®ÄÉÀ̼ǿ¡¼­ connectionÀ» ¾ò¾î¿À´Â Áï½Ã 

ÇØ´ç connectionÀ» ÀÌ¿ëÇÏ¿© "SET CHARACTER SET euckr"À̶õ 

SQL¸í·ÉÀ» executeUpdate ½ÃÄ×¼­ ÇØ°áÇß½À´Ï´Ù¸¸ ¾Æ¸¶µµ ´õ ±ò²ûÇÑ 

¹æ¹ýÀÌ ÀÖÀ» ÁÙ ¾Ð´Ï´Ù. 



±×·¸°Ô Çϸé mysql4.1.1¾ËÆÄ¿¡¼­µµ ÇѱÛÀ» ¹®Á¦¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. 

Âü°í·Î ±×³É latin1À¸·Î ¼³Á¤ÇÑ »óÅ¿¡¼­µµ ÇѱÛÀÌ »ç¿ëÀÌ °¡´ÉÇϱä ÇÕ´Ï´Ù¸¸ order by³ª ÀϺΠÇѱ۷ÎÀÇ °Ë»ö½Ã¿¡ Á¦´ë·Î °Ë»öÀÌ ¾ÈµÇ´Â °æ¿ì°¡ ¹ß»ýÇÕ´Ï´Ù. ±×·± °æ¿ì ÇØ´ç Çʵ常 character setÀ» ¼³Á¤Çؼ­ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é latin1À¸·Î ÀúÀåµÈ ÇѱÛÀ» euckrÀÇ ÄÚµå¼Â ¼ø¼­·Î Á¤·ÄÇÏ°í ½ÍÀ» ¶§ ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µË´Ï´Ù. 



>> SELECT * FROM table_name ORDER BY k COLLATE euckr_korean_ci 



±×·¯¸é ÇÑ±Û ¼ø¼­·Î Á¤·ÄÀÌ µË´Ï´Ù. 

ÀÌ ¸»Àº ¸¸¾à ÀÌÁ¦±îÁö latin1À¸·Î Àß ½á¿À½Å ºÐÀ̶ó¸é Á¤·ÄÀ» À§Çؼ­¸¸ Ãß°¡ÀûÀ¸·Î Äڵ带 Ãß°¡ÇØÁÙ °æ¿ì ¹®Á¦¾øÀÌ Àß Á¤·ÄÀÌ µÊÀ» ÀǹÌÇÏ´Â °ÍÀÌ´Ï µ¥ÀÌÅͺ£À̽º¸¦ Åë°·Î ¼öÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø°ÚÁö¿ä.
 



Ãâó: http://openlife.tistory.com/306 [¹°°í±â ¸¹Àº ¹Ù´Ù]