encoding ¼³Á¤Çϱâ ÃÑÁ¤¸® (euc-kr -> utf-8)
* Àüü APM ½Ã½ºÅÛÀÇ UTF-8 ¼³Á¤Çϱâ *
Á¾·¡¿¡´Â ȨÆäÀÌÁö°¡ ÀÚ±¹Àε鸸 ÀÌ¿ëÇÒ °ÍÀ» ¿¹»óÇÏ°í Á¦ÀÛÇÏ¹Ç·Î½á ¿Ü±¹ÀÎ Áï, ºñÇÑ±Û »ç¿ëÀڵ鿡 ´ëÇÑ ¼ºñ½º¸¦ ¹ÌÃÄ ¿°µÎ¿¡ µÎÁö ¸øÇϹǷνá ÇѱÛÀÌ ?????$%^&( ó·³ ±úÁ® º¸ÀÌ´Â ¹«ÁöÇÔÀ» º¸¿´´ø °ÍÀÌ »ç½ÇÀÔ´Ï´Ù.
ÀÌÁ¦´Â ȨÆäÀÌÁö Á¦ÀÛµµ À¯´ÏÄÚµå(UTF-8) ÀÎÄÚµù ¹æ½ÄÀÌ ¼¼°èÀû Ãß¼¼À̸ç ÀÌ·¯ÇÑ Ãß¼¼¿¡ ¸ÂÃß¾î MySqlµµ ±âº»¾ð¾î¸¦ utf8(UTF-8 ÀÎÄÚµù) ¹æ½ÄÀ¸·Î º¯°æÇÏ¿´À¸¹Ç·Î, ȨÆäÀÌÁö¸¦ Á¾·¡ euc-kr µî Çѱ۷θ¸ Ç¥±âÇÏ´ø ¹æ½Äµµ UTF-8 ÀÎÄÚµù ¹æ½ÄÀ¸·Î ¾÷µ¥ÀÌÆ®ÇØ¾ß ÇÒ ¶§ ÀÔ´Ï´Ù. UTF-8 ÀÎÄÚµù ¹æ½ÄÀº Çѱ¹¾î, ÀϾî, Áß±¹¾î, ű¹¾î, ¾Æ¶ø¾î µî ¸¸±¹¾î Ç¥±â°¡ °¡´ÉÇÑ ¹æ½ÄÀÔ´Ï´Ù.
APM¿¡¼ UTF-8À» ±¸ÇöÇÏ·Á¸é ²Ï ¸¹Àº ºÎºÐÀ» ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù .
´ÙÀ½Àº APM¿¡¼ UTF-8 ±¸Çö ¹æ¹ý°ú ¼Ò½ºÄڵ带 ÷ºÎÇÕ´Ï´Ù.
¿øº» ÀúÀÚ ¾Æ·¡ ȯ°æ¿¡¼ Àû¿ë Å×½ºÆ® .
----------------
OS : WinXP SP2
Apache : httpd-2.0.52
PHP : php-5.0.3
MySQL : mysql-4.1.11
----------------
wono77 °°Àº ¹æ½ÄÀ¸·Î, ¾Æ·¡ ȯ°æ¿¡¼ Àû¿ë Å×½ºÆ® ¼º°ø.(±ÛÃß°¡ 2006³â 5¿ù 24ÀÏ)
-----------------------------
OS : Linux Redhat 9.0
Apache : httpd-2.0.52-3
PHP : php-5.1.2
MySQL : mysql-5.1.7-beta
-----------------------------
1. apache ȯ°æÆÄÀÏ ÆíÁý (httpd.conf)
2. php ȯ°æÆÄÀÏ ÆíÁý (php.ini)
3. mysql ȯ°æÆÄÀÏ ÆíÁý (my.cnf)
4. apache, mysql ¼ºñ½º Àç½ÃÀÛ
5. mysql¿¡¼ ij¸¯Åͼ ȮÀÎ ¹× µðºñ»ý¼º
6. php ¼Ò½ºÄڵ忡 mysql_query("set names utf8;"); ÇÔ¼ö Ãß°¡
7. php ¼Ò½º¿¡ Çѱ۹®ÀÚ¿ÀÌ ÀÖÀ¸¸é ÆÄÀÏÀúÀåÇÒ¶§ UTF-8 ÆÄÀÏÇü½ÄÀ¸·Î ÀúÀå
8. À¥ºê¶ó¿ìÁîÀÇ º¸±â-ÀÎÄÚµù-UTF-8·Î ¼±ÅÃ
1. /etc/httpd/conf/httpd.conf ¿¡¼ ij¸¯Åͼ ¼öÁ¤
/*------------
AddDefaultCharset UTF-8
2. /etc/php.ini ¿¡¼ ij¸¯Åͼ ¼öÁ¤
/*------------
;default_charset = "iso-8859-1"
default_charset = "utf-8"
3. /etc/my.cnf ¿¡¼ ij¸¯Åͼ ¼öÁ¤
/*------------
[client]
#password = your_password
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
4. ȯ°æº¯¼ö¸¦ ¸ðµÎ ¼öÁ¤ÈÄ apache ¹× mysql ¼ºñ½º Àç½ÃÀÛ
/*------------
5. mysql¿¡¼ ij¸¯Åͼ ȮÀÎ
/*------------
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 247 to server version: 4.1.10a
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use test
Database changed
mysql> show variables like 'c%';
+---------+-----------+
| Variable_name | Value |
+---------+-----------+
| 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 |
| concurrent_insert | ON |
| connect_timeout | 5 |
+---------+-----------+
12 rows in set (0.00 sec)
* MySql¿¡¼ µ¥ÀÌÅͺ£À̽º »ý¼º
mysql>CREATE DATABASE µðºñ¸í DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
--------------------------------------------------------------------------------------
* Ãß°¡(Putty ¹× vi¿¡¼ÀÇ utf8¼³Á¤) *
--------------------------------------------------------------------------------------
Putty ¼³Á¤
¼³Á¤¿¡¼ â>º¯È¯ À» ¼±ÅÃÇÑ ´ÙÀ½, ¼ö½ÅÇÑ µ¥ÀÌÅ͸¦ ÀÌ ¹®ÀÚ¼ÂÀ¸·Î °¡Á¤À̶ó°í µÇ¾î ÀÖ´Â ¹Ú½º¿¡¼ UTF-8À» ¼±ÅÃÇÑ´Ù.
ÀÌÁ¦ Å͹̳ο¡¼´Â º¸¿©Áö´Â ¸ðµç ¹®ÀÚ¼ÂÀ» UTF-8·Î °¡Á¤ÇÏ°Ô µÈ´Ù.
½© ¼³Á¤
½© Ä¿¸Çµå ¶óÀο¡¼ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÑ´Ù.
·Î±×ÀÎ µÉ ¶§ Ç×»ó UTF-8À» »ç¿ëÇÏ·Á¸é, ÀÚ½ÅÀÇ È¨µð·ºÅ丮ÀÇ .bashrc ÆÄÀÏ¿¡ À§ÀÇ ÇÑ ÁÙÀ» Ãß°¡ÇÑ´Ù.
.bashrc ÆÄÀÏÀ» ¼öÁ¤ÇßÀ» °æ¿ì,
µîÀÇ ¸í·ÉÀ» ³»·Á¼ °ð¹Ù·Î Àû¿ëµÇ°Ô ÇÒ ¼ö ÀÖ´Ù.
ÀÌÁ¦ ls µîÀÇ ¸í·É¿¡¼ ¸®ÅϵǴ °ªµéÀ» ºñ·ÔÇؼ ½©¿¡¼ÀÇ ¸®ÅϹ®ÀÚ¿Àº UTF-8·Î Ç¥ÇöµÈ´Ù.
vi ¼³Á¤
ÀÌ »óÅ¿¡¼
¸¦ ÀÔ·ÂÇغ¸¸é ±ÛÀÚ°¡ ±úÁ® º¸ÀÌ°Ô µÈ´Ù.
vi ¿¡µðÅÍÀÇ ÀÎÄÚµùÀ» ¼³Á¤ÇØ ÁÖ¾î¾ß Çϴµ¥,
viÀÇ ¸í·É Áß¿¡ setÀ» ÀÌ¿ëÇؼ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
enc´Â vi¿¡¼ º¸¿©ÁÙ ¶§ »ç¿ëµÇ´Â ÀÎÄÚµùÀÌ°í tenc´Â Å͹̳ο¡¼ »ç¿ëµÇ´Â ÀÎÄÚµùÀÌ´Ù. fenc´Â ¼öÁ¤ÇÏ·Á´Â ÆÄÀÏÀÇ ÀÎÄÚµùÀÌ´Ù.
Ç×»ó ÀÌ·¸°Ô ÀÛ¾÷À» ÇÏ·Á¸é Ȩµð·ºÅ丮ÀÇ .vimrc ÆÄÀÏ¿¡ Ãß°¡ÇØ ÁÖ¸é µÈ´Ù.
ÆÄÀÏ ÀÛ¾÷
ÀÌ »óÅ¿¡¼ vi¿¡µðÅÍ·Î ÀÛ¾÷ÇÏ´Â ¸ðµç ÆÄÀÏÀº UTF-8·Î ÀÎÄÚµùµÇ¾î ÀúÀåµÈ´Ù.
'??'À» ÀÔ·ÂÇØ º¸¸é Àß ÀԷµÊÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
È®Àå¿Ï¼ºÇüÀ¸·Î µ¹¾Æ°¡±â
- Putty ¼³Á¤
¼ö½ÅÇÑ µ¥ÀÌÅ͸¦ CP949·Î ¹Þ´Â´Ù. - ½© ¼³Á¤export LANG="ko_KR.eucKR"
- vi ¼³Á¤
set enc=euc-kr
set fenc=euc-kr
set tenc=euc-kr
¸¦ ¼ø¼´ë·Î ¼³Á¤ÇØ ÁØ´Ù.
---------------------------------------------------------------------------------------
±â¾ïÇؾßÇÒ »çÇ×:
mysql 5.x¿¡¼ utf-8ÀÌ ¾Æ´Ñ, utf8·Î Ç¥½ÃÇؾßÇÔÀ» ±â¾ïÇսôÙ~(4.x¿¡¼´Â utf-8À̾úÀ½)
¾ÆÆÄÄ¡, php¿¡¼´Â utf-8 ÀÔ´Ï´Ù.
phpÀÇ mysql connect ¼Ò½º¿¡¼µµ $dbconn->query("set names utf8")À» ÇØÁà¾ß ÇÔÀ» ±â¾ïÇÏÀÚ.
by wono77. 2006-05-10.
* ±âÁ¸ÀÇ EUC-KR DB¸¦ UTF-8·Î º¯°æÇϱâ *
euc-kr¿¡¼ ÀÛ¼ºµÈ db¸¦ ¹é¾÷Çؼ utf8¿¡ ³ÖÀ» »ý°¢Àε¥..ÀÌ°Ç Á¶±Ý´õ Çغ¸°í ±ÛÀ» ¿Ã¸®°Ú½À´Ï´Ù.
(TestÇغôµ¥ Àߵdz׿ä~^^)
euc-kr·Î ÀÛ¼ºµÈ db¸¦ ¹é¾÷Çؼ utf8 db¿¡ ³ÖÀ»¶§´Â..
mysqldump¸¦ ¶áÈÄ¿¡, ´ýÇÁ¶á ÆÄÀÏÀ» ´ÙÀ½ ½ºÅ©¸³Æ®¸¦ ÅëÇØ utf8·Î º¯È¯ÇØÁÝ´Ï´Ù.
½ºÅ©¸³Æ®¸í: iconv.sh
---------------------------------
#!/bin/sh
iconv -feuc-kr -tutf-8 $1 > out.txt
rm -rf $1
mv out.txt $1
---------------------------------
Áï ´ÙÀ½°ú °°ÀÌ ÇØÁֽøé out¶ó´Â ´ýÇÁ°¡ utf8·Î ¹Ù²ò´Ï´Ù.
$mysqldump -uroot -pÆнº¿öµå µðºñ¸í > out
$iconv.sh out
±× ÈÄ, ÀÌ ´ýÇÁ¸¦ utf8 ½Ã½ºÅÛÀÇ utf8 db¿¡ ³Ö¾îÁÖ½Ã¸é µË´Ï´Ù.^_^
by wono77. 2006-05-11.
* ±âÁ¸ÀÇ EUC-KR ¼Ò½º¸¦ UTF-8·Î º¯°æÇϱâ *
À§ÀÇ iconv.sh ½ºÅ©¸³Æ®·Î ÇØ´ç ¼Ò½º¸¦ Çϳª¾¿ º¯°æÇØÁÖ½Ã¸é µË´Ï´Ù.
Àüü Æú´õÀÇ ¼Ò½º ¹Ù²Ù´Â ½©½ºÅ©¸³Æ®´Â ¾Æ·¡¿Í °°½À´Ï´Ù.....=¤²=a;;;
(´Ü, À̶§ iconv°¡ Àû¿ë¾ÈµÇ´Â ¹®Àڼ¿¡ ´ëÇØ ÆÄÀÏÀÌ ³¯¾Æ°¡¹Ç·Î,
iconvÀÇ ¿É¼Ç Áß IGNORE°¡ ÇÊ¿äÇÕ´Ï´Ù.
-IGNORE ¿É¼ÇÀ¸·Î´Â Å×½ºÆ® ¾ÈÇغ½.
-½ÇÁ¦ ¾Æ·¡ Àüü µð·ºÅ丮 ¹Ù²Ù±â¿¡¼± ÆÄÀÏÀº Á¸ÀçÇÏÁö¸¸,
Áß°£ ³»¿ëÀÌ ³¯¾Æ°¡´Â ¹®Á¦ ¸î¹ß»ýÇßÀ½)
#!/bin/sh
for i in `ls $1`; do
newname=`echo $i | tr "[A-Z]" "[a-z]"`
iconv -feuc-kr -tutf-8 $1/$i > out.txt
rm -rf $1/$i
mv out.txt $1/$i
done
iconv -feuc-kr -tutf8//IGNORE
À§ÀÇ ÆÄÀÏ Çϳª ¹Ù²Ù±â iconv.sh´Â ¾Æ·¡¿Í °°ÀÌ »ç¿ëÇÕ´Ï´Ù.
$iconv.sh test.php
¼öÀÛ¾÷À¸·Î ÇÏ´Ù°¡ °¡²û, iconv¿¡ ¾ø´Â ¾Æ½ºÅ°°¡ ³ª¿Í¼, ¿¡·¯°¡ ¶ß¸é¼, ¿øº» ÈÀÏÀÌ »¶³ª´Â °æ¿ì´Â ÀÖÀ¸´Ï, ¹é¾÷ ¹Þ¾ÆµÎ°í Çϼ¼¿ä. ÁÖÀÇÇϽñæ....
10¿¡ ÇÑ°³´Â ³ª¿É´Ï´Ù. ¼Ò½º°¡ ¾öû±æ°Å³ª..Ư¼ö¹®Àڵ¼...(ÇØ°á¹æ¹ýÀÌ ¾÷±×·¹À̵åµÈ iconvÀÇ ±â´É ¿É¼ÇÀ¸·Î ¾î¶»°Ô Çϴ°Š°°´øµ¥..Á÷Á¢ Å×½ºÆ®´Â Çغ¸Áö ¾Ê¾Æ¼ Àß ¸ð¸£°Ú³×¿ä..)^^;
Ãâó : http://blog.naver.com/wono77/140024184001
Âü°í»çÀÌÆ®: http://database.sarang.net (¾ËÂ¥Ãʺ¸´Ô)
mysql_query("set names utf8;", $db);
Àú´Â ÀÌ°É »ðÁúÇÏ°í ÀÖ¾ú±¸¿ä..
´õ ã¾Æº¸´Ï±î my.cnfÀÇ mysqld¿¡´Ù°¡
init_connect = 'set names utf8'
Çصµ µÇ´Â°Å °°½À´Ï´Ù.
ȯ°æÀº ¸Æos ŸÀÌ°Å¿¡ XAMPP ÀÔ´Ï´Ù -_-;;; (¿ø·¡ ´Ù utf8·Î ±ò¸®´Â ȯ°æÀ̾úÁÒ)