深度解决PHP和MySQL数据库的乱码问题
上一篇 /
下一篇 2007-12-25 08:36:26
/ 个人分类:php
大家都知道,网页和数据库经常乱码的情况出现。网页一乱码,网页的内容就面目全非,这一点无论是对网页浏览者还是对网页制作者来说,都是不愿意看到的。小弟刚开始学MySQL的时候也乱码了好多天。本文就对如何解决网页和MySQL数据库的乱码问题作一个探讨,实践证明以下方法是完全可行的。
1. HTML有一句定义网页编码的代码:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,这里的charset最好是设置为utf-8,utf-8支持简繁体中文,当然utf-8也支持英文,这样一来采用utf-8编码就可以最大程度的避免乱码现象。而GB2312仅支持简体中文。如果每建立一个网页都要去检查编码问题那太麻烦,那我们可以把Dreamweaver 建立网页的默认编码改为utf-8,这样我们就不用操心了!依次点击:File->New...->Preferences...->New Document会出现如下的对话框:请把Default encoding后面的下拉列表中Unicode(UTF-8),点击OK保存设置。

2. 如果使用phpMyAdmin做MySQL管理的话,请做如下设置:MySQL 连接校对请设置为utf8_general_ci,数据库的字符集请设为utf8_unicode_ci。

3. 创建数据表时,请做如下设置:把字符型字段的整理属性设为utf8_unicode_ci,把整个表的整理也设为utf8_unicode_ci。此时会生成如下的MySQL代码:

CREATE TABLE `encoding` (
`id` INT NOT NULL ,
`title` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`content` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci;
4. 在插入数据库之前请加入一行mysql_query("set names 'utf8'");,这句话最好放在数据库连接文件后面,保存为一单独的文件,在要用的数据库的地方直接引用该文件即可。

5. 到此如果您做的网页还出现乱码的话,请检查浏览器的字符编码是否为Unicode(UTF-8)以及是否勾选了自动选择。

导入论坛
收藏
分享给好友
管理
举报
TAG:
php
网页
MySQL
乱码