可以使用 DEFAULT CHARSET=gb2312 设置编码。
创新互联公司,专注为中小企业提供官网建设、营销型网站制作、响应式网站开发、展示型成都网站制作、做网站等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。
例如:
创建一个名字为table的表,编码为gb2312。
CREATE TABLE IF NOT EXISTS `table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`contents` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312 AUTO_INCREMENT=1 ;
建议最好使用utf8编码,这样兼容性更好。
文件编码需要做到三个编码一致,如果你做到以下三个编码一致就永远不会出现乱码了!!!!!
(1)数据库编码
数据库编码注意的是数据库表字段的编码和数据库客户端编码,比如表字段的编码是UTF-8,操作数据库PHP文件编码是GB2312, 怎样才不会出现乱码呢?这个时候就要用SET NAMES GB2312来设置数据库服务器的客户端的编码,这样数据库服务器就会自动将数据库中编码为UTF-8的数据自动转化为GB2312,在接收的PHP文件就保证收到的数据不会有乱码
(2)PHP文件编码
也就是你在保存文件时选择的文件编码,如果不是当前你想要的编码可以通过“另存为”改变编码
(3)HTML中meta http-equiv="content-type" content="text/html;charset=gb2312"/设置客户端浏览器显示数据的编码,其本质是设置HTTP中Content-Type报头的值,PHP中要做到这一点可以用 header("content-type:text/html;charset=gb2312")
做到上面各编码一致的编码一致,不会出现乱码的!!
也许是数据库的问题,我也遇到过,我用的是wampserver,界面的工具,直接点鼠标就可能建成mysql数据库,建成后导入数据,查询数据库返回面而的是乱码,我遇到的情况是这样的:
1、建库用gbk,如图。
2、导入表及数据时,默认是utf,此处要改成gbk就不是乱码了,如第图底页面,如果是默认的或是其它的字符集,能导入成功但是乱码。另外直接把sql粘贴到sql窗口,也不是乱码。
希望能帮到你,呵呵~
两边入手,
PHP,需要设置页面编码,加一行代码:
header('Content-Type:text/html;charset=utf-8');
这样就把输出编码改为了UTF-8
但是,MySQL也要设置,那就是连接到数据库之后再加一行
mysql_query("SET
NAMES
`UTF-8`");
即可
当然,你得保证你的数据库的字符集是UTF-8
如果仍然出错,那就说明数据库的字符集配置有问题