mysq GBKl乱码

2018-09-07 14:29

阅读:237

  我现在有一个sql文件,里面内容是gbk的。我现在显示全是乱码。
就只是用mysql4.0.26能显示。
用4.1以上的死活都显示不了。头大了。望大家指点指点,感恩不尽。
我现在装了mysql5.0.22.
我把里的字符集都改成gbk了,用status命令显示,都是gbk.然后我用source命令导入sql文件,可是还不行。查询前我用了setnamesgbk,setnamesutf8,setnameslatin1.什么都显示乱码。
用mysql-uroot-ppassworddatabase<data.sql导入也一样不行。
sql文件头是这样的。
--MySQLdump10.10
--
--Host:localhostDatabase:system
--------------------------------------------------------
--Serverversion5.0.22-community-nt

/*!40101SET@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT*/;
/*!40101SET@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS*/;
/*!40101SET@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION*/;
/*!40101SETNAMESutf8*/;
/*!40103SET@OLD_TIME_ZONE=@@TIME_ZONE*/;
/*!40103SETTIME_ZONE=+00:00*/;
/*!40014SET@OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,UNIQUE_CHECKS=0*/;
/*!40014SET@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,FOREIGN_KEY_CHECKS=0*/;
/*!40101SET@OLD_SQL_MODE=@@SQL_MODE,SQL_MODE=NO_AUTO_VALUE_ON_ZERO*/;
/*

无语了。望各位指点。谢谢。
复制代码 代码如下:
完美解决方案:
1.不管你用什么方法,导出SQL文本文件,确保EDITPLUS打开看到的是中文。
2.将该SQL文件的语句改成4.1的,删除编码设定的语句,然后保存。
3.用命令行导入4.1数据库,记得,这个数据库的编码要设为GBK,建表的时候,会自动指定为GBK

附命令:
mysql-hlocalhost-uroot-p****database--default-character-set=gbk<database.sql

以后导出的时候,也要记得--default-character-set=gbk

写程序的时候,mysql询前,一定要SETNAMES!

以上是我长时间无数次失败和测试积累下来的经验。


评论


亲,登录后才可以留言!