| 环境:在windows下建立的数据库,编码一律是GBK
 我实验通过的方法:
 一,导出结构性数据:mysqldump -u root 数据名 >filename   //文件名任取,可取txt
 mysqldump -u root 数据名  该数据库表名 >filename  //只导出数据库某个表
 二,导出数据:mysql -uroot 数据库名(已存在)  < 上文的filename
 or             在进入数据库mysql>  source filename.txt   //这样也同上文一样。
 注意,filename要在当前目录。
 三,乱码解决:在源数据库检查"\s",即显示出server,client,session,connect等编码设置。
 如果,更改现数据库为源数据编码的方法:mysqld_safe -u root --character_set_sever=gbk &
 然后mysql -u root 登录,"\s"检查character_set_server编码是否同源数据一样(应该一样了)
 然后用\C utf8  即拿令将改变客户端编码为utf8......   此时,就可以在linux下看到windows移植过来的中文内容了。注意,linux客户端为utf8.(mysql) ,其余的同源数据库设置。
 从网上看到下面的方法, 因为麻烦没有遂一尝试,有时间大家可以尝试:
 
 导出旧数据库结构(mysql4)
 #./bin/mysqldump -uroot -d olddb > /tmp/olddb_create_table.sql    //只转结构
 导出数据,不含结构
 #./bin/mysqldump -uroot -t --default-character-set=gb2312 olddb > /tmp/olddb_data.sql  //只转数据建立新数据库(mysql5)
 #./bin/mysql -uroot
 #>create database newdb default character set utf8;
 #>use newdb;
 导入数据库表结构
 #>source /sqldata/olddb_create_tabe.sql;
 导入数据库数据
 #>set names gb2312;
 #>source /sqldata/olddb_data.sql;
 
 
 |