Oct 18

mysql乱码完美解决方案

学习
  mysql默认的字符集多是latin1,如果你的程序是以utf-8的文件编码形式写入数据到数据库(同时之前没有mysql_query("set names utf8")),那么你用phpmyadmin打开看到的就是一堆的乱码了,然后更新与备份数据库时经常是乱码一堆.

  经过测试,此问题得以解决,方法如下:
  mysqldump -uroot -p --default-character-set=latin1 --skip-opt mydb>mydb.sql

  即:备份数据时,要和原来的字符集一致.

在phpmyadmin中建立新的数据库,在phpmyadmin中设置:
language: chinese simplified (zh-utf-8)
MYSQL字符集: UTF-8 Unicode (utf8)
MYSQL连接校对: utf8_general_ci

在导入SQL数据库时,使用如下命令:
mysql -uroot -p --default-character-set=utf8 -f mydb
补充一点:
在还原到的新表mydb时,创建这个表的时候,用 Create DATABASE `mydb` DEFAULT CHARACTER SET utf8;


另外:table的auto_increment类型的数据怎么清0,只需:set insert_id = 1

tags:

to "mysql乱码完美解决方案"

Leave a Reply