default-character-set=utf8
建立数据库是要指定字符集
create database mydb default character set utf8 collate utf8_general_ci
建立数据表示也要指定字符集:
出问题的命令:
CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1
正确的命令:
CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8
你先去数据库看看是不是都是问号如果不是,就说明是网页编码的问题,你看看你数据库里面用的是什么编码,一般是GB2312或者UTF-8,(你对着网页右单击,有个编码,你换个也许就能正常显示了),然后你在代码里设置网页的编码跟数据库一样就行。
插入的数据乱码有很多原因:1、你要检查一下页面的编码和数据库设置的字符集是否一样,要么都是utf8,要么都是gbk的
2、如果第一点说的两边编码是统一的,你可以在链接数据库的时候加上mysql_query("set names utf8")
3、加上之后还是不行的话,在检查你的页面编码,如果是utf8的话,请选择没有bom的utf8编码
4、以上都没问题的话,还出现乱码的话,修改mysql的配置文件,my.ini加上character-set-server=utf8,然后重启mysql服务就可以了
一般出现乱码的话,基本就是这些原因了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)