在Dreamweaver设计php+mySQL网页中,经常会碰到令人烦恼的中文乱码问题。字符集的选择是造成乱码的罪魁祸首。通常,web服务器apache、数据库mySQL和设计软件在安装时都会自动设置默认的字符集,如果这三者之间的字符集不匹配,都会造成乱码的出现,而且会导致页面不显示、记录集的筛选失败等现象。

解决这个问题我们通常需要对相关软件进行配置,但是配置软件尤其是配置服务起对大部分初学者来说是一件比较困难的事情,因此本文不做讲解,仅就在设计过程中避免乱码应注意的事项作一说明,对服务器配置有兴趣的同学们可以在网上搜索相关文章进行尝试。

因我们学习所用的appServ最新版本默认安装字符集为UTF-8,以下均以UTF-8进行讲解。

1、Dreamweaver的配置

工欲善其事 必先利其器。

点击dw菜单上的“编辑”,进入“首选参数”,在首选参数对话窗口点击“新建文档”,默认编码选择“Unicode(UTF-8)”。

p1

2、网页中的修改

很多同学都会从网上下载一些模板进行设计,但是这些模板不一定都使用了UTF-8的编码,因此需要修改。

在dw的代码窗口html的<head>…</head>区域中,查看代码:<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8” />,红色字体部分应为“utf-8”。

对于下载得来的网页文件,文件本身可能不是以UTF-8的形式保存,因此还需要对文件进行转换,转换工具可以用ultraedit文本编辑软件。用ultraedit打开需要转换的文件,对文件操作“另存为”,在“另存为”对话窗口中选择“UTF-8 - 无BOM”格式(UTF-8 - 无BOM格式能够避免session_start函数错误问题),并保存覆盖原来的文件。

3、数据库的整理

用phpmyadmin新建数据库时,要注意数据库和字段的“整理”。

数据库的整理为:utf8_general_ci

p2

文本类型的字段整理为:utf8_general_ci

p3

已建数据库如与此不匹配的,可在phpmyadmin中点击数据库后点击“操作”进行修改,对字段可以在结构中修改。

4、数据库连接文件

在dw中打开数据库连接的php文件,如下图:

p4

在代码中添加如下红色部分代码:

……

$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query(”set names ‘utf8′”);
?>

5、总结

当在进行页面测试时出现以下几种情况,均应考虑字符集的配置问题:

(1)当网页文件编码正确时,网页文字正常显示,但数据库读取的文字出现乱码,检查数据库、字段整理和数据库连接文件。

(2)当数据库、字段整理和数据库连接文件正确时,网页文字乱码,数据库读取文字正常,应对网页文件进行转换,并检查head区域的编码。

(3)全部出现乱码,应检查全部匹配,以及php文件代码中的中文是否正确显示。

(4)页面无显示、搜索无结果但数据库里应有符合条件的记录,应检查全部匹配。