通过MYSQL命令行或者PHPMYADMIN插入或显示中文数据时乱码!!
我用都是PHP5.2和MYSQL5.0.51b-community-nt,以及PHPMYADMIN 3.1
页面CHARSET是UTF8
可以在PHP程序中插入或浏览数据,都是正常,无乱码
但是我想通过MYSQL 命令行或者PHPMYADMIN手动插入中文数据就都是乱码
以下三项我全做了:
1、MYSQL中所有的数据库和数据表,默认字符集、COLLATION均为utf8; 且所有MYSQL变量也是:
mysql> show variables like 'character_set%';
+--------------------------+------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\software\mysql5\share\charsets\ |
+--------------------------+------------------------------------+
mysql> show create table account;
| account | CREATE TABLE `account` (
`user` varchar(30) collate utf8_bin NOT NULL,
`password` varchar(30) NOT NULL,
`email` varchar(50) default NULL,
`name` varchar(100) character set utf8 NOT NULL,
`verification` varchar(20) default NULL,
`membership` tinyint(4) default NULL,
UNIQUE KEY `user` (`user`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin |
2、通过UTF-8编码发送查询
3、连接数据库后立刻 SET NAMES 'utf8 '(PS:如果SET NAMES 'GBK',插入的东西在命令行或PHPMYADMIN倒是可以正常显示,在网页中就是乱码)
结果仍然是,页面的输入输出正常,但在phpmyadmin里浏览就是不正常,而通过phpmyadmin插入的,在页面上显示又不正常了!
网络上的文章搜了一大圈,没一个好用的。
有没有谁遇到过类似的问题并解决了?