mysq GBKl乱码
mysq GBKl乱码
发布时间:2016-12-29 来源:查字典编辑
摘要:我现在有一个sql文件,里面内容是gbk的。我现在显示全是乱码。就只是用mysql4.0.26能显示。用4.1以上的死活都显示不了。头大了。...

我现在有一个sql文件,里面内容是gbk的。我现在显示全是乱码。

就只是用mysql4.0.26能显示。

用4.1以上的死活都显示不了。头大了。望大家指点指点,感恩不尽。

我现在装了mysql5.0.22.

我把my.ini里的字符集都改成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!

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类