写网页向mysql数据库存入数据,之后还需要读取,这一过程中数据库中的中文都是乱码。
1.请教同学,首先产生字段类型的疑问,确定字段为char 和 varchar 并且应该不存在超出存储量的问题,而且以前也是用的这种类型,没有问题。基本排除。
2.怀疑还是老问题——utf8和gb2312的编码问题。
尝试更改数据库编码。
alter database db_name default character set gbk; 失败。
难道要重新建的表才是新的编码?不想重做,并且根据以前的成功经验觉得不是重建能解决的,决定先另寻方法。
3.师兄说用软件 HeidiSQL 比较方便改变编码类型,下载,连接数据库出现了不能连接的问题,什么什么not allowed connect to this server啥的,还有什么
Duplicate entry '%-root' for key 'PRIMARY'
= =。百度之后根据
http://www.jb51.net/article/31902.htm解决了工具的问题。
选择数据库和表,在选项中更改默认字符集,看到果然是个奇怪的东西,latin什么的,什么鬼,果断改掉!
感觉希望就在前方啊~结果!还是乱的……
4.页面编码、数据库的编码是一样的,那就只剩过程中的编码问题了。根据
http://www.cnblogs.com/pifoo/archive/2011/05/21/mySql.html,在php发送sql语句的时候加一句编码
mysql_query("
SET
NAMES
'
UTF8
'
"); ,问题解决啦~