通过MYSQL命令行或者PHPMYADMIN插入或显示中文数据时乱码!!

halcyon 2008-12-20 05:07:45
我用都是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插入的,在页面上显示又不正常了!
网络上的文章搜了一大圈,没一个好用的。
有没有谁遇到过类似的问题并解决了?
...全文
1518 24 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hector_huang 2012-05-11
  • 打赏
  • 举报
回复
SB
[Quote=引用 3 楼 的回复:]

PS:如果SET NAMES 'GBK',插入的东西在命令行或PHPMYADMIN倒是可以正常显示,在网页中就是乱码



这个就是你网页编码的问题了。
[/Quote]
halcyon 2009-02-24
  • 打赏
  • 举报
回复
放弃了!!我自己写了一个程序手动看,唉……
halcyon 2008-12-23
  • 打赏
  • 举报
回复
我早看过了。
DATABASE CHARACTER : UTF8
DATABASE COLLATION : UTF8-GENERAL_CI
WWWWA 2008-12-23
  • 打赏
  • 举报
回复
在SQLYOG中选择数据库,点右键,ALTER DATABASE,看看编码
halcyon 2008-12-23
  • 打赏
  • 举报
回复
是'UTF-8'没错,我已经看过了。而且我在建数据库和建表的时候都显式地指定了编码 CHARACTER SET UTF8
======================================
数据库的编码是什么?在SQLYOG中可以查到
halcyon 2008-12-23
  • 打赏
  • 举报
回复
又换了个站点重新传了一次,现在已经有了 (再次鄙视一下百度~)
WWWWA 2008-12-23
  • 打赏
  • 举报
回复
看不到图片哦
halcyon 2008-12-23
  • 打赏
  • 举报
回复
该死的百度……
重发一下图片

还有:
WWWWA 2008-12-23
  • 打赏
  • 举报
回复
数据库的编码是什么?在SQLYOG中可以查到
calvin_wyx 2008-12-22
  • 打赏
  • 举报
回复
帮顶,碰到同样问题
halcyon 2008-12-22
  • 打赏
  • 举报
回复
不好意思,可能写错了。SET NAMES GBK,显示仍然是乱码
=====================================================================================
(PS:如果SET NAMES 'GBK',插入的东西在命令行或PHPMYADMIN倒是可以正常显示,在网页中就是乱码)

这个是你说的吧?
ks_ly 2008-12-22
  • 打赏
  • 举报
回复
是不是客户端的问题看看
halcyon 2008-12-22
  • 打赏
  • 举报
回复
通过客户端插入的数据都可以正常显示,但是网页显示乱码;

通过程序插入的数据都是乱码显示,但是网页上显示正常;
网页里面指定了<meta http-equiv="content-type" content="text/html; charset=UTF-8">啊~
halcyon 2008-12-22
  • 打赏
  • 举报
回复
上张截图

halcyon 2008-12-22
  • 打赏
  • 举报
回复
下了你说的SQLYOG,结果一样乱码~~~ :(
WWWWA 2008-12-22
  • 打赏
  • 举报
回复
不知道有没有好的MYSQL客户端工具可以推荐?
用SQLYOG试试
halcyon 2008-12-22
  • 打赏
  • 举报
回复
根据网上推荐的,下了一个EMC SQL MANAGER 2007 LITE FOR MYSQL, 问题依旧 ~ 泪奔
PS: 楼上的,谢谢你。怎么联系你啊?
懒得去死 2008-12-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 halcyon 的回复:]
不好意思,可能写错了。SET NAMES GBK,显示仍然是乱码
=====================================================================================
(PS:如果SET NAMES 'GBK',插入的东西在命令行或PHPMYADMIN倒是可以正常显示,在网页中就是乱码)

这个是你说的吧?
[/Quote]
你服务器端的编码是UTF8。所以你SET NAMES GBK是乱码很正常。
建议LZ看看精华里面我发的那个帖子。

实在搞不定我可以远程协助一下。
halcyon 2008-12-22
  • 打赏
  • 举报
回复
听说PHPMYADMIN很老的版本没有这个问题,因为它没有做自动转换。而之后的版本都自动做了自动编码/解码,反而是帮了倒忙~~~唉,不知道有没有好的MYSQL客户端工具可以推荐?
懒得去死 2008-12-21
  • 打赏
  • 举报
回复
PS:如果SET NAMES 'GBK',插入的东西在命令行或PHPMYADMIN倒是可以正常显示,在网页中就是乱码



这个就是你网页编码的问题了。
加载更多回复(4)

56,914

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧