根据我的经验是mysql导入或导出数据库是时出现乱码一般是文档编码不统一导致的,下面我来给大家介绍几种解决乱码的一些解决方法.
解决方法:
第一步:还原时建立数据库和表都为utf8格式(建议utf8,当然gbk或者gb2312也行),代码如下:
- CREATEDATABASE`shegongku`DEFAULTCHARACTERSETutf8
- CREATETABLE`members`(
- `uid`mediumint(8)unsignedNOTNULLdefault'0',
- `username`varchar(15)NOTNULLdefault'',
- `password`varchar(40)NOTNULLdefault'',
- `salt`varchar(16)defaultNULL, --phpfensi.com
- `email`varchar(60)NOTNULLdefault''
- )ENGINE=MyISAMDEFAULTCHARSET=utf8;
第二步,将sql文件的编码转换下,转成utf8格式,可以notepad2,也可以用UltraEditor进行转换,再在第一行sql文件的添加一行 set names utf8 保存.
第三步,导入,一般就不会出现乱码了,这时如果你在 终端cmd下再次查询发现还是乱码的话,这个不是数据库问题,而是显示的问题,在终端里输入 set names gbk,这样中文就显示正常了.续上文件.
方法一:通过增加参数 –default-character-set = utf8 解决乱码问题
mysql -u root -p password < path_to_import_file –default-character-set = utf8
方法二:在命令行导入乱码解决
1.use database_name;
2.set names utf8; (或其他需要的编码)
3.source example.sql (sql文件存放路径)
方法三:直接粘贴sql文件里的代码
1. 打开SQLyog客户端软件;
2. 定位到SQL编辑器,然后用记事本打开刚刚导出的SQL文件;
3. 复制文件中所有SQL语句到SQL编辑器当中,执行这些SQL代码;