编码统一还是出现乱码

编码统一还是出现乱码

我的MYSQL数据库安装的时候选择的是GBK编码,建立的数据库和表的编码也是GBK的,我的网页文件的编码是GB2312

然后我利用网页表单向数据库提交中文字符,中文在数据库里显示是正常的,可是网页上从数据库输出的中文显示的全是  ?????  了

我在查询语句前加了一句   $result = mysql_query("set names 'GB2312'");结果显示又全部正常了

这是什么原因呢?按理说数据库的编码都是统一的,应该不会出现乱码啊……为什么还要加一句       $result = mysql_query("set names 'GB2312'");呢……

MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。
查看系统的字符集和排序方式的设定可以通过下面的两条命令:

mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+-------------------------------------------+
| Variable_name            | Value                                     |
+--------------------------+-------------------------------------------+
| character_set_client     | latin1                                    |
| character_set_connection | latin1                                    |
| character_set_database   | latin1                                    |
| character_set_filesystem | binary                                    |
| character_set_results    | latin1                                    |
| character_set_server     | latin1                                    |
| character_set_system     | utf8                                      |
| character_sets_dir       | D:\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+-------------------------------------------+

你看看是否都统一了咯。
毕业了。。。

我的数据库版本是5的

+--------------------------+--------------------------------+
| Variable_name            | Value                          |
+--------------------------+--------------------------------+
| character_set_client     | gbk                            |
| character_set_connection | gbk                            |
| character_set_database   | gbk                            |
| character_set_filesystem | binary                         |
| character_set_results    | gbk                            |
| character_set_server     | gbk                            |
| character_set_system     | utf8                           |
| character_sets_dir       | D:\local\MySQL\share\charsets\ |
+--------------------------+--------------------------------+

应该是统一的啊?