linux shell????latin1 big5 ???mysql???? utf8

星期三, 2nd 九月 2009

??????????????????big5??????\?????????????????? 

????????????PHP ? MySQL ??????? query ??????

mysql_query("SET CHARACTER_SET_CLIENT=utf8");
mysql_query("SET CHARACTER_SET_CONNECTION=utf8");
mysql_query("SET CHARACTER_SET_RESULTS=utf8");

??????????????????

mysql_query("SET NAMES utf8");

? MySQL???big5?utf8?

Step1??????dump??

?????????latin1???dump?????iconf?piconf????UTF-8???dump??????-default-character-set=latin1

#mysqldump -u ?? -p --default-character-set=latin1 ??? >output.sql

Step2?big5??utf8

?????Big5???? dump???????Big5??UTF-8??

#piconv -f big5 -t utf8 output.sql >utf8.sql

?????UTF-8????dump???????Big5???????UTF-8?????dump???????UTF-8?lantin1?????UTF-8

#mysqldump -u ?? -p -default-character-set=latin1 ??? >output.sql
#piconv -f utf8 -t big5 output.sql > big5.sql
#piconv -f big5 -t utf8 big5.sql >utf8.sql

Step3???sql?

1??????sql??????‘’\”??????(???????‘\n’)

2??dump???sql???????
SET NAMES utf8;
SET CHARACTER_SET_CLIENT=utf8;
SET CHARACTER_SET_RESULTS=utf8;

:1,$s/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/g
:1,$s/latin1/utf8/gc
:1,$s/?\\/?/g
:1,$s/?\\/?/g
:1,$s/?\\/?/g
:1,$s/?\\/?/g
:1,$s/?\\/?/g
:1,$s/?\\/?/g
:1,$s/?\\/?/g
:1,$s/?\\/?/g
:1,$s/?\\/?/g
:1,$s/?\\/?/g
:1,$s/?\\/?/g


???????????TYPE=MyISAM???DEFAULT CHARSET=latin1;
??????ENGINE=MyISAM DEFAULT CHARSET=utf8;

Step4????????

??1. SQL??
CREATE DATABASE `???` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

??2. ?phpMyAdmin??????????”??”??utf8_general_ci

????import??

??1. SQL??

#mysql -u ?? -p ??? < utf8.sql

??2. ???phpMyAdmin??import????import???????????utf8???????phpMyAdmin import ????????????sql????????

? ???????MySQL?my.cnf???????????
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci

http://yumax1012.blogspot.com/2009/04/mysql-big5-utf8.html