我用都是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插入的,在页面上显示又不正常了!
网络上的文章搜了一大圈,没一个好用的。
有没有谁遇到过类似的问题并解决了?
页面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插入的,在页面上显示又不正常了!
网络上的文章搜了一大圈,没一个好用的。
有没有谁遇到过类似的问题并解决了?
请你再看清我的提问!
网页内容一切正常!是命令行和PHPMYADMIN乱码!
=====================================================================================
(PS:如果SET NAMES 'GBK',插入的东西在命令行或PHPMYADMIN倒是可以正常显示,在网页中就是乱码)这个是你说的吧?
建议LZ看看精华里面我发的那个帖子。实在搞不定我可以远程协助一下。
PS: 楼上的,谢谢你。怎么联系你啊?
用SQLYOG试试
网页里面指定了<meta http-equiv="content-type" content="text/html; charset=UTF-8">啊~
======================================
数据库的编码是什么?在SQLYOG中可以查到
DATABASE CHARACTER : UTF8
DATABASE COLLATION : UTF8-GENERAL_CI