MySql 中文问题的处理
昨天在写一个新闻系统,在向Mysql 数据库中存入中文的字符时,发现存进数据库中的数据全是乱码,当时我以为只是数据库里解析字符集解析出错,读出来应该不会有事的,但是我错了,从数据库中读取出来的数据同样是乱码,自己检查了自己的程序字符集,发现都使用了utf-8了。
查看了下mysql的字符集,发现不是utf-8,自己以为是这个问题,于是自己将数据库的字符集改成了utf8,在测试,发现还是出错。找了很多的帖子,发现问题都不能被解决。
自己想了下,应该是字符编码的问题导致的问题,回想了自己在建立数据库的时候没有设置默认的字符编码,是不是这个原因造成的呢?自己在数据库中重新建立了一个新的数据库,不过与之前不同的是,这次自己在建立的时候设定了默认的编码格式,同样,在建表的时候自己也同样的设定了默认的编码格式,并且是与我程序代码一样的编码格式。具体如下:
create database 'Article' default character set utf8;
建立数据表时:
create table Banner(...数据项
)ENGINE=MyISAM AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8;
建立完数据库后,我在链接数据库的字符串中加入了字符集的信息,在测试的时候,发现中文问题没有了!!在数据库中也能正常的显示,读取出来的数据也是正常的。我自己想是不是Mysql在建立数据库的时候是不是如果不指定字符的编码格式,而当我们后面在修改数据库的字符编码格式的时候是不是出错了,导致我们无法解决问题...???