mysql4.1导入mysql5.0乱码问题方法(latin1升级到utf8)

来源:互联网 发布:安卓平板 windows平板 编辑:程序博客网 时间:2024/04/29 23:41
 
旧环境:
      mysql4.1     表和数据为latin1格式
      tomcat4.1
      JDBC驱动: mm.mysql-2.0.4-bin.jar
新环境:
      mysql5.0     表和数据需转换成UTF8格式
      tomcat5.0
      JDBC驱动:   mysql-connector-java-3.0.17-ga-bin
问题:
      Windows环境的mysql4.1导入linux环境的mysql5.0出现乱码。
步骤:
1.    进入mysql4.1的bin目录下,导出表结构和表数据,命令如下:
导出表结构(只有建表信息,没有建库信息和数据)
mysqldump  --default-character-set=latin1 --set-charset=utf8 -uroot -ppassword  -n -d --opt --skip-set-charset databasename>d:/databaselatin1table;
导出数据(只有数据,不包括建库和建表信息)
mysqldump  --default-character-set=latin1 --set-charset=utf8 -uroot -ppassword  –n –t -–opt--skip-set-charset 
sinohub>d:/databaselatin1data;
2.    进入导出表和数据的根目录下,把sql文件的字符格式由latin1转换成utf8.
sed -e 's/latin1/utf8/g' -i ./ databaselatin1table
sed -e 's/latin1/utf8/g' -i ./ databaselatin1data
 
3. 在新环境下以UTF8格式新建数据库newdatabasename。
4. 导入表结构和数据
mysql -uroot -pLetmein. --default-character-set=utf8 newdatabasename< databasetable
 mysql -uroot -pLetmein. --default-character-set=utf8 newdatabasename< databasedata

 

备注:之所以把表结构和数据分开来导,在执行建表的时候可能会报错,方便缩小出问题的地方

原创粉丝点击