ºÃÔçÒÔǰд¹ýһƪ¹ØÓÚMySQLÉý¼¶µ½4.1³öÏÖÂÒÂëÈçºÎ½â¾öµÄÌû×Ó£¬ËûÖ»Êǽ²ÊöÁ˵±Äãµ¼ÈëµÄÊý¾Ý¶¼Õý³£ÁË£¬¸ÃÔõôʹÓõ½MySQL4.1ÒÔºó°æ±¾µÄ¶àÓïÑÔÌØÕ÷¡£µ«ÊÇÈç¹ûÔÚµ¼ÈëµÄ¹ý³ÌÖоÍÓöµ½ÁË×Ö·û¼¯µÄÎÊÌ⣬¸ÃÔõô°ìÄØ£¿¾ÍÊÇÎÞÂÛÄãÔõôµ¼È룬ÔõôÕÛÌÚ×Ö·û¼¯£¬¶¼ÊÇÂÒÂ룬µ«ÊÇÄãвåÈëµÄÈκÎÒ»ÌõÊý¾Ý¶¼Ã»ÓÐÎÊÌ⣬Õâ¾Í²»ÊÇÉý¼¶ºóµ÷Õû×Ö·û¼¯µÄÎÊÌâÁË£¬¶øÊÇÔÚµ¼³öµ¼ÈëµÄ¹¤³ÌÖоÍÐèÒª¿¼ÂÇ¡£
UPÕâÁ½Ìì¹À¼Æ±»Õâ¸öÎÊÌâÕÛÌڵĹ»Çº£¬ËäȻʺóÕÒµ½µÄÔÒò²»ÊÇÔÚÓÚÊý¾Ý¿â£¬µ«ÊÇÕâÀﻹÊÇ°ÑÉý¼¶µÄ¹ý³Ì¼Ç¼ÏÂÀ´¡£½ñÌìupÎÊÎÒÉÏ´ÎÂÛ̳ÈçºÎÉý¼¶ºÍת»»µÄ£¬ÎҾͼǵò»Ì«Çå³þÁË¡£
ÎÒ×Ô¼ºÊÔÑé³É¹¦µÄÓÐÁ½ÖÖ·½Ê½
1£©Ö»ÐèÒª°ÑÄãÔÀ´°æ±¾µÄÊý¾Ý¿âÎļþ¿¼µ½µ½ÐµÄÊý¾Ý¿âĿ¼Ï£¬Ê²Ã´¶¼²»ÓÃÐ޸ģ¬Õâ¸öʱºòÊä³öÓ¦¸ÃÊÇÕý³£µÄ£¬Ä¬ÈϲÉÓÃÁËlatin1×Ö·û¼¯¡£Õâ´ó¸ÅÖ»×î¼òµ¥µÄ·½Ê½ÁË£¬²»¹ýÕâÖÖ·½Ê½²»Ì«ºÃµÄµØ·½ÔÚÓÚÒ»µ©½«À´Òª×ª»»×Ö·û¼¯£¬ºÜÊÇÂé·³¡£
2£©¼ÙÉèÄãÒª´ÓMySQL4.0ÒÔÏ°汾Éý¼¶µ½MySQL4.1ÒÔÉÏ°æ±¾£¬²¢Ã÷È·Ö¸¶¨ÐèÒªµÄ×Ö·û¼¯ÊÇgb2312£¬ÄÇôÎҵIJ½ÖèÊÇ
a£©ÔÚÔÀ´µÄÊý¾Ý¿âÉϵ¼³öÄãÒªµÄÊý¾Ý¿â£¬¿ÉÒÔʹÓÃÏÂÃæµÄÃüÁ
$mysqldump -u username -p password databasename >xxx.sql
b£©Ð޸ĵ¼³öµÄsqlÎļþ£¬Ê×ÏȽ«µ¼³öµÄÊý¾Ý±í¼ÓÉÏĬÈÏ×Ö·û¼¯gb2312£¬¿ÉÒÔÔÚviÖÐÖ»ÓÃÏÂÃæµÄÌæ»»ÃüÁî
% s/engine=MyISAM;/engine=MyISAM DEFAULT CHARSET=GB2312;/g
µ±È»Äã¿ÉÒÔʹÓÃÄãϲ»¶µÄ±à¼Æ÷À´Ìæ»»£»Æä´ÎÊǽ«Õâ¸ösqlÎļþת»¯³Égb2312±àÂë¸ñʽµÄÎļþ¡£Äã¿ÉÒÔÏÈfile¿´¿´¸ÃÎļþµÄ×Ö·û¼¯£¬Èç¹ûÊÇISO8859µÄ£¬ÄÇ»¹²»´í£¬Èç¹ûÊÇNon-ISO¸ñʽ£¬ÄǾͱØÐëת»»£¬¿ÉÒÔʹÓÃÏÂÃæµÄÃüÁî
iconv -c -t gb2312 -o outout.sql xxx.sql
UPµ¼³öµÄÊý¾Ý¾ÍÊÇNon£ISO¸ñʽ¡£
c£©Á¬½ÓеÄÊý¾Ý¿â·þÎñÆ÷£¬´´½¨ÐèÒªµÄÊý¾Ý¿â
mysqladmin -uroot -p create databasename
d£©ÔÚµ¼ÈëÊý¾Ý֮ǰ£¬¿´¿´Ä¬ÈϵÄ×Ö·û¼¯£¬¿ÉÒÔʹÓÃÏÂÃæµÄ·½·¨
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)
ĬÈϵÄ×Ö·û¼¯¶¼ÊÇlatinn1µÄ£¬Õâ¸öʱºò£¬ÄãÐèÒª½«latin1ת»»³Égb2312£¬·½·¨ÈçÏÂ
mysql> set NAMES 'utf8';
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_database=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'character%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.00 sec)
ÕâʱÊý¾Ý¿â×Ö·û¼¯ÒѾÐ޸ģ¬¿ÉÒÔµ¼ÈëÊý¾ÝÁË
mysql>source /path/to/xxx.sql
È»ºóÔÚÄãµÄÍøÒ³ÖУ¬ÔÚÁ¬½ÓÊý¾Ýºó£¬¼ÓÉÏÏÂÃæµÄÒ»ÌõÖ¸Áî
mysql_query(¡±set NAMES 'utf8'");
Ó¦¸Ã¾Í¿ÉÒÔÁË£¬µ±È»ÄãµÄÍøÒ³±àÂë±¾ÉíÓ¦¸ÃҲҪʽgb2312µÄ¡£
ÄÇôUPΪʲô»áÒªÕÛÌÚÁ½ÌìÄØ£¿²»ÊÇËûµÄ²½ÖèºÍ·½·¨ÓÐÎÊÌ⣬¶øÊDzÙ×÷ϵͳµÄÎÊÌ⣡²Ù×÷ϵͳ£¿ubuntu£¡
ÎÊÌâ¾Í³öÏÖÔÚiconvת»»µÄ¹ý³ÌÖУ¬Ö»Òª×ª»»³ÉGB2312£¬ÄÇЩÖÐÎľͳÉÁË¿Õ°×£¬¶øͬÑùµÄÎļþ£¬ÔÚÆäËûLinux²Ù×÷ϵͳÉϾͲ»»á³öÏÖÕâ¸öÎÊÌ⣬ÄѵÀʽubuntu²¢²»Ö§³ÖGB2312£¿»¹ÊDZðµÄÔÒò£¬¸öÈËûÓÐʹÓùýubuntu£¬²»Ì«Çå³þËûµÄ×Ö·û¼¯ºÍ×ÖÌåÖ§³ÖÊÇÈçºÎµÄ£¬²»¹ýÏëÀ´ÎÒÓùýµÄ redhat£¬fedora£¬suseȷʵ¶¼ÔÚ×Ö·û¼¯ºÍÖÐÎÄ×ÖÌå·½ÃæÓÐЩǷȱ¡£