中文插入数据库为什么显示乱码?

来源:百度知道 编辑:UC知道 时间:2024/06/28 17:31:53
我通过php向mysql数据库插入数据,然后在数据库中查看的时候全是乱码(中文),但是取出之后放在页面上仍然正常.就是通过数据库查看的时候全是乱码不能阅读. 哪位高手有什么解结方法吗?

① 首先把MySQL的服务停掉 在运行窗口输入:net stop mysql
② 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等……
具体操作为:打开mysql安装目录下的myini.tet;
找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入default就会找到,都要改过来;
③ 重启MySQL服务器,在运行窗口输入:net start mysql
④ 最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了

在mysql中的my.ini中将字符集设置为:GBK
(注意有两处)
[client]

port=3306

[mysql]

default-character-set=gbk
还有一处自己看看
建表的时候采用这种方式
create table admin
(
id INT AUTO_INCREMENT PRIMARY KEY ,
adminid VARCHAR(50) not null,
adminpwd VARCHAR(50)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312;
加入了这一句
:ENGINE=MyISAM DEFAULT CHARSET=gb2312;

因为mysql以UTF-8编码来保存中文。你改下编码方式为GB2312就行了