




| [ÇÔ¼ö] MySQL 4.1 + PHP ÇÁ·Î±×·¥ÀÇ À¥ºê¶ó¿ìÀú¿¡¼ ÇѱÛÀÌ ±úÁö´Â ¹®Á¦ ÇØ°á¹æ¹ý | |||||
|---|---|---|---|---|---|
| ±Û¾´ÀÌ | ±èÀ±»ó | ³¯ Â¥ | 04-12-31 23:09 | Á¶ ȸ | 9187 |
| Link1 | http://blog.naver.com/mistkr/120008947925 (175) | ||||
| Link2 | http://blog.naver.com/mistkr (86) | ||||
|
ÇØ´ç³»¿ëÀÇ Á÷Á¢ ¸µÅ© ÀÔ´Ï´Ù. (Á»´õ ¾Ë¾Æº¸±â ½¬¿î Æ÷¸äÀ¸·Î º¸½Ç ¼ö ÀÖ½À´Ï´Ù.) http://blog.naver.com/mistkr/120008947925 Á¦ ºí·Î±×ÀÔ´Ï´Ù. http://blog.naver.com/mistkr RSS Feed ÀÔ´Ï´Ù. http://blogbridge.naver.com/post/postXMLList.jsp?blogId=mistkr ±âº»ÀûÀ¸·Î mysql 4.1ÀÇ ¼¹ö¿Í mysql(client) ¿¡¼ ÇÑ±Û (euckr·Î°¡Á¤)À» Á¦´ë·Î ÀÔÃâ·ÂÇϱâ À§Çؼ´Â ¸î°¡Áö ¼³Á¤ÀÌ ÇÊ¿äÇÕ´Ï´Ù. (ƯÈ÷ ¿¾³¯¿¡ character setÀ» dbÀÚü¿¡ ÀúÀåÇÏÁö ¾Ê´ø ±¸Á¶ÀÇ database¸¦ °¡Áö°íÀִ°æ¿ì ´õ¿í ±×·¸½À´Ï´Ù.MySQL ¸Þ´º¾ó¿¡º¸´Ï À̰æ¿ì ) 4.1¿¡¼ ¼³Á¤ÆÄÀÏÀÌ /etc/my.cnf ¶ó°í °¡Á¤ÇÕ´Ï´Ù. [client] [mysqld] [mysqldump] À§ 3 ¼¼¼Ç¿¡ ¸ðµÎ default-character-set=euckr À̶ó´Â ³»¿ëÀ» ÀÖÀ¸¸é ³öµÎ°í ¾øÀ¸¸é Ãß°¡ÇØÁֽʽÿä. ´Ù¸¥ ¾ð¾î·Î µÇ¾îÀÖ´Ù¸é ±×ºÎºÐ¸¸ euckr ·Î ¼öÁ¤ÇÏ½Ã¸é µË´Ï´Ù. Âü°í·Î 4.1ºÎÅÍ´Â euc_kr¿¡¼ euckr·Î ¹Ù²î¾ú½À´Ï´Ù. db¿¡ character set Á¤º¸°¡ ÀúÀåµÇÁö ¾Ê¾Ò´ø ½ÃÀý¿¡ ¸¸µé¾îÁø dbµéÀÇ °æ¿ì À§ÀÇ ¼³Á¤À» ¹Ù²Ù²²µÇ¸é database ÀÇ Äڵ尡 ¹Ù²î¾î ¹ö¸®°Ô µË´Ï´Ù. ±×·¯´Ï ÀÌÀü¿¡ »ç¿ëÇÏ´ø°Í°ú ÀÏÄ¡½ÃÄÑ ÁÖ¼Å¾ß ÇÕ´Ï´Ù. ÀÏ´Ü ÀÌ·¸°Ô±îÁö¸¸Çϸé Äֿܼ¡¼ mysql À» ½ÇÇàÇÏ¿© Á¢¼ÓÇØ¼ ÇѱÛÀ» ÀÐ°í ¾²´Â´ë´Â º°¹®Á¦°¡ ¾øÀ¸½Ç °ÍÀÔ´Ï´Ù. ±×·¯³ª Á¦°æ¿ì ¹®Á¦´Â À̵ںÎÅÍ ¹ß»ýÇß½À´Ï´Ù. À¥¿¡¼ Ãâ·ÂÇÏ´Â ÆäÀÌÁöµéÁß db¿¡¼ ºÒ·¯¿À´Â°ÍµéÀÌ ASCII °¡ ¹®ÀÚµéÀÇ °æ¿ì ¸ðµÎ ? ·Î ±ú¾îÀú ³ª¿À´Â °ÍÀÔ´Ï´Ù. ±×·¡¼ Á÷°¨ÀûÀ¸·Î character set¿¡ °ü·ÃµÈ ¹®Á¦¶õ°Ç ¾Ë°Ú´Âµ¥ À̰ÍÀ» È®ÀÎÇÏ´Â ¹æ¹ýºÎÅÍ ¸»¾¸ µå¸®¸é shell¿¡¼ mysql dbname -e 'show variables like "%character%";show variables like "%collation%";' ÀÌ·¸°Ô ÀÔ·ÂÇØº¸½Ã¸é ¾Æ¸¶µµ À§ÀÇ 3 ¼¼¼Ç ¸ðµÎ Á¤»óÀûÀ¸·Î ¼öÁ¤Çؼ Àû¿ëµÇ¾ú´Ù¸é ( [mysqld]¼¼¼ÇÀÇ °æ¿ì mysql ¼¹ö Àç½ÃÀÛ ÇÊ¿ä.dbnameÀ» mysql µîÀ¸·Î ¹Ù²ã¼ ÇØÁֽñ⠹ٶø´Ï´Ù.) ÀÌ·¸°Ô ³ª¿Ã °ÍÀÔ´Ï´Ù. Variable_name Value character_set_client euckr character_set_connection euckr character_set_database euckr character_set_results euckr character_set_server euckr character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/ Variable_name Value collation_connection euckr_korean_ci collation_database euckr_korean_ci collation_server euckr_korean_ci ±×·¯³ª shell¿¡¼ ½ÇÇàÇÏ´Â clientÀǰæ¿ì [client] ¼¼¼ÇÀÇ ¿µÇâÀ» ¹Þ´Âµ¥ (´Ù¸¥ character setÀ¸·Î ¹Ù²Ù¸é¼ ½ÇÇàÇØº¸½Ã¸é È®½ÇÈ÷ ¾Æ½Ç ¼ö ÀÖ½À´Ï´Ù.) À¥¿¡¼ php¸¦ ÀÌ¿ëÇÏ¿© Á¢¼ÓÇѰ͵éÀº Àû¿ëÀÌ ¾ÈµÇ´Â°ÍÀ» È®ÀÎÇÞ½À´Ï´Ù. È®ÀÎÇÏ´Â ÄÚµå´Â ¾Æ·¡¿Í °°½À´Ï´Ù. show variables like "%character%";show variables like "%collation%"; À̰ÍÀ» ºê¶ó¿ìÀú¸¦ ÅëÇØ ½ÇÇàÇØ¼ ½ÇÁ¦·Î php¸¦ ÀÌ¿ëÇÑ Á¢¼Ó¿¡¼ µµ´ëü character ¿¡ ¾î¶² ¹®Á¦°¡ ¹ß»ýÇÏ´ÂÁö º¼¼ö ÀÖ½À´Ï´Ù. ½ÇÇà°á°ú´Â ¾Æ·¡¿Í ºñ½ÁÇÒ °ÍÀÔ´Ï´Ù. character_set_client | latin1 character_set_connection | latin1 character_set_database | euckr character_set_results | latin1 character_set_server | euckr character_set_system | utf8 character_sets_dir | /usr/share/mysql/charsets/ collation_connection | latin1_swedish_ci collation_database | euckr_korean_ci collation_server | euckr_korean_ci character°¡ shell¿¡¼ ½ÇÇàÇÒ¶§¿Í´Â ¿ÏÀüÈ÷ µýÆÇÀΰÍÀ» ´«À¸·Î Á÷Á¢ È®ÀÎÇÒ ¼ö ÀÕ½À´Ï´Ù. ±×·³ À̰ÍÀ» ÇØ°áÇØ¾ßµÇ´Âµ¥ À̰ÍÀº mysql ¼¹ö¿¡ Á¢¼Ó½Ã set session character_set_connection=euckr; set session character_set_results=euckr; set session character_set_client=euckr; µéÀ» ½ÇÇàÇÏ¿© character set¿¡ ´ëÇÑ Á¤ÀǸ¦ ´Ù½Ã ÇØÁÖ½Ã¸é µË´Ï´Ù. ÀÚ ¼ø¼´ë·Î ¾î´øÀÏÀÌ ÀϾ´ÂÁö º¾½Ã´Ù.¹Ù·Î À§ÀÇ 3°¡Áö character set¼³Á¤ ¸í·É¾øÀÌ ½ÇÇàÇѰæ¿ì¿Í ºñ±³ÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ±×·³ ÇØ´ç ¼³Á¤µéÀÌ ½ÇÁ¦·Î ¾î¶² ¿µÇâÀ» ¹ÌÄ¡´ÂÁö ÀÌÇØÇϴµ¥ µµ¿òÀÌ µÉ°ÍÀÔ´Ï´Ù. ¸ÕÀú set session character_set_connection=euckr; ¸¸ Àû¿ëÇÒ °æ¿ì. °á°ú´Â ¾Æ·¡¿Í°°½À´Ï´Ù. 3°¡ÁöÁß ¾Æ¹«°Íµµ Àû¿ë¾ÈÇßÀ»°æ¿ì¿Í ºñ±³Çϸé character_set_client | latin1 character_set_connection | euckr <== latin1 ¿¡¼ euckr ·Î º¯°æµÊ. character_set_database | euckr character_set_results | latin1 character_set_server | euckr character_set_system | utf8 character_sets_dir | /usr/share/mysql/charsets/ collation_connection | euckr_korean_ci <== latin1_swedish¿¡¼ euckr·Î º¯°æµÊ collation_database | euckr_korean_ci collation_server | euckr_korean_ci ÀÌÁ¦ set session character_set_results=euckr; ¸¸ Àû¿ëÇØ º¾½Ã´Ù. °á°ú´Â ¾Æ·¡¿Í °°½À´Ï´Ù.3°¡ÁöÁß ¾Æ¹«°Íµµ Àû¿ë¾ÈÇßÀ»°æ¿ì¿Í ºñ±³Çϸé character_set_client | latin1 character_set_connection | latin1 character_set_database | euckr character_set_results | euckr <== latin1 ¿¡¼ euckr·Î º¯°æµÊ character_set_server | euckr character_set_system | utf8 character_sets_dir | /usr/share/mysql/charsets/ collation_connection | latin1_swedish_ci collation_database | euckr_korean_ci collation_server | euckr_korean_ci ÀÌÁ¦ set session character_set_client=euckr; ¸¸ Àû¿ëÇØ º¸¸é °á°ú´Â ¾Æ·¡¿Í °°½À´Ï´Ù.3°¡ÁöÁß ¾Æ¹«°Íµµ Àû¿ë¾ÈÇßÀ»°æ¿ì¿Í ºñ±³Çϸé character_set_client | euckr <== latin1¿¡¼ euckr·Î º¯°æµÊ character_set_connection | latin1 character_set_database | euckr character_set_results | latin1 character_set_server | euckr character_set_system | utf8 character_sets_dir | /usr/share/mysql/charsets/ collation_connection | latin1_swedish_ci collation_database | euckr_korean_ci collation_server | euckr_korean_ci ÀÌÁ¦ 3°¡Áö¸¦ ¸ðµÎ Çѹø¿¡ Àû¿ëÇØ º¾½Ã´Ù. set session character_set_connection=euckr; set session character_set_results=euckr; set session character_set_client=euckr; °á°ú´Â ¾Æ·¡¿Í °°½À´Ï´Ù.3°¡ÁöÁß ¾Æ¹«°Íµµ Àû¿ë¾ÈÇßÀ»°æ¿ì¿Í ºñ±³Çϸé character_set_client | euckr <== latin1¿¡¼ euckr·Î º¯°æµÊ. character_set_connection | euckr <== latin1¿¡¼ euckr·Î º¯°æµÊ. character_set_database | euckr character_set_results | euckr <== latin1¿¡¼ euckr·Î º¯°æµÊ. character_set_server | euckr character_set_system | utf8 character_sets_dir | /usr/share/mysql/charsets/ collation_connection | euckr_korean_ci <== latin1¿¡¼ euckr ·Î º¯°æµÊ. collation_database | euckr_korean_ci collation_server | euckr_korean_ci ÀÌÁ¦ ¿øÇϽô´ë·Î À¥ºê¶ó¿ìÀúÀÇ encoding ÀÌ Çѱ¹¾î·Î µÇÀÖÀ»°æ¿ì ¾È±úÁö´Â Á¤»óÀûÀÎ °á°ú¸¦ ¾òÀ»½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¿ÏÀüÈ÷ »õ·Î ¸¸µé°í ´Ù±¹¾îµ¥ÀÌŸÀÇ ÀԷµµ °í·ÁÇÑ´Ù¸é unicodeÀÇ »ç¿ëµµ ±¦ÂúÀ»µí ½Í½À´Ï´Ù. À§¿¡¼ phpÅëÇÏ¿© ½ÇÇà½ÃŰ´Â ÄÚµå´Â ¾Æ·¡¿Í °°½À´Ï´Ù. localhost·Î Á¢¼ÓÇÏ°í ¾ÏÈ£´Â ¾øÀ¸¸ç db°èÁ¤À» root¶ó °¡Á¤ÇÕ´Ï´Ù. // php ÇÁ·Î±×·¥ÀÇ ½ÃÀÛ <? $connect = mysql_connect(localhost,root); $isResult = mysql_select_db("mysql", $connect); // mysql_query("set session character_set_connection=euckr;"); // mysql_query("set session character_set_results=euckr;"); // mysql_query("set session character_set_client=euckr;"); $sql = "show variables like '%character%'"; $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { echo $row[0] . " | " . $row[1] . "<br>\n"; } echo ("<br><br>"); $sql = "show variables like '%collation%'"; $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { echo $row[0] . " | " . $row[1] . "<br>\n"; } ?> // php ÇÁ·Î±×·¥ÀÇ ³¡ ÇÁ·Î±×·¥À» ºÙ¿©³Ö±â ÇÏ¿© ÆÄÀÏ·Î ÀúÀåÇÑÈÄ 3°¡Áö ¼³Á¤ÀÇ ÁÖ¼®À» Ç®¾Æ°¡¸é¼ ¶Ç ¸ðµÎ Ç®¾î¼ Å×½ºÆ® ÇØº¸½Ã±â ¹Ù¶ø´Ï´Ù.(±½°Ô Ç¥½ÃµÈ ºÎºÐ) Ȥ½Ã ³»¿ë»ó ¿À·ù°¡ ÀÖÀ»Áö ¸ð¸£´Ï ¸®ÇÃÁ» ºÎʵ右´Ï´Ù. Âü°í·Î system¿¡ utf8ÀÇ °æ¿ì °íÁ¤µÇ¾îÀÖ´Â °ªÀ¸·Î º¯°æ ºÒ°¡´É ÇÕ´Ï´Ù. |
|||||


