phpmyadmin显示中文数据乱码!

xk2y 2009-11-19 02:02:37
在phpmyadmin插入中文数据是显示是正常的,但网页显示乱码..字段的整理是utf8_general_ci
在网页插入中文时,网页显示正常,但phpmyadmin就乱码.
mysql字符集是utf8.在cmd mysql插入和显示中文都是正常的...
就phpmyadmin特别纠结...
求解!

以下是版本:
MySQL
服务器: MySQL host info: localhost via TCP/IP
服务器版本: 5.1.40-community
协议版本: 10
用户: root@localhost
MySQL 字符集: UTF-8 Unicode (utf8)

网站服务器
Apache/2.2.14 (Win32) PHP/5.3.0
MySQL 客户端版本: mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $
PHP 扩展: mysql

phpMyAdmin
版本信息: 3.2.3
...全文
526 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xk2y 2009-11-19
  • 打赏
  • 举报
回复
我说11L才对!

xk2y 2009-11-19
  • 打赏
  • 举报
回复
我指12L~
xk2y 2009-11-19
  • 打赏
  • 举报
回复
哦!你指这个..
Siramizu 2009-11-19
  • 打赏
  • 举报
回复
检查你的网页是不是utf8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
或者
header('Content-Type: text/html; charset=utf-8');
然后用网页插入数据,这时候你再到phpmyadmin看你刚插入的数据
vinsonshen 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 vinsonshen 的回复:]
这个是字符集的问题,详细你可以参考下这个:

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
[/Quote]

无语了
xk2y 2009-11-19
  • 打赏
  • 举报
回复
to 9L:
你说的链接地址是指哪里?
vinsonshen 2009-11-19
  • 打赏
  • 举报
回复
你这个问题是由于字符集问题引起的
建议你仔细看看给你的字符集乱码的链接地址内容吧
xk2y 2009-11-19
  • 打赏
  • 举报
回复
to 7l:
set names 'utf8'
在phpmyadmin上执行么?

to 6l:
那你的见解是什么?
那怎输入的数据才是utf8?
ACMAIN_CHM 2009-11-19
  • 打赏
  • 举报
回复
set names 'utf8' 一下试试。
Siramizu 2009-11-19
  • 打赏
  • 举报
回复
windows命令行是gb的
你插入的数据都是gb的
用命令行读出来的数据也是gb的,显示正常

phpmyadmin读出来按数据库的设置认为是utf8的

也就是你从一开始输入的数据就不是utf8,最后还想让phpmyadmin按utf8显示,不乱码就怪了
xk2y 2009-11-19
  • 打赏
  • 举报
回复
现在就phpmyadmin显示乱码~
vinsonshen 2009-11-19
  • 打赏
  • 举报
回复
这个是字符集的问题,详细你可以参考下这个:

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
xk2y 2009-11-19
  • 打赏
  • 举报
回复
错了..phpmysql网页编码早就是utf8...
改gb2312那整个版面就乱了...
怎么我在mysql中插入显示又没事..
cmd上显示是gbk!什么意思~
真乱
vinsonshen 2009-11-19
  • 打赏
  • 举报
回复
估计将你的phpmyadmin的编码改成utf8就能正常显示了
vinsonshen 2009-11-19
  • 打赏
  • 举报
回复
在进行数据库操作前,先发送 set names utf8
phpmyadmin是大家很常用的用来管理mysql数据库的软件。它虽然已经提供了对中文的支持,但是,仅限于字段编码为:utf-8(utf8)、gbk、gb2312。对其它的编码,使用phpmyadmin进行查看时会显示乱码。   虽然对于新的项目我们会尽量使用上面三种数据编码,但仍有一些旧项目或程序使用了其它的编码,最常见的是mysql的默认编码:latin1。   分析原因,应该是phpmyadmin在执行查询时没有指定数据编码--如果我们用命令行方式查询数据库通常会先指定一下连接编码(set names **),这样在显示查询数据时,中文就能正常显示了。   但对于phpmyadmin先执行一步set names 再执行查询语句,结果还是不能正常显示数据。   经本人测试,phpmyadmin在查询语句中如果对中文字段进行了函数转换,就能显示正常了,如下: SELECT convert( binary `chinese_field` USING gb2312 ) AS a FROM `table_name`。但这样仍旧很麻烦。   于是本人尝试对phpmyadmin的源码进行修改。在修改了四个文件后发现能正常显示中文了。但是要求数据库,数据表,和字段使用相同的编码(通常我们都是这么做的,除非我们要测试某些东西)。原理很简,就是先检测数据库的编码(因为phpmyadmin里有现成的函数)在执行查询语句前,先执行set names 指定连接编码。经本人测试,能正常处理:查询、修改、导出和导入。   该补丁适合于3.1.1版本,其它版本未进行测试。对于3.0以后版建议使用比较工具进行修改,对于2.*版本,建议下载另外一个补丁。   注意:文件编码请使用utf-8。导出后因为文档中包含中文,不能用未修下的phpmyadmin进行导入,用命令行导入,请正确设置连接编码。请多次尝试后,再将其用于正式场合。   如遇问题,请及时与本人联系:aaliwen@126.com。
phpmyadmin是大家很常用的用来管理mysql数据库的软件。它虽然已经提供了对中文的支持,但是,仅限于字段编码为:utf-8(utf8)、gbk、gb2312。对其它的编码,使用phpmyadmin进行查看时会显示乱码。   虽然对于新的项目我们会尽量使用上面三种数据编码,但仍有一些旧项目或程序使用了其它的编码,最常见的是mysql的默认编码:latin1。   分析原因,应该是phpmyadmin在执行查询时没有指定数据编码--如果我们用命令行方式查询数据库通常会先指定一下连接编码(set names **),这样在显示查询数据时,中文就能正常显示了。   但对于phpmyadmin先执行一步set names 再执行查询语句,结果还是不能正常显示数据。   经本人测试,phpmyadmin在查询语句中如果对中文字段进行了函数转换,就能显示正常了,如下: SELECT convert( binary `chinese_field` USING gb2312 ) AS a FROM `table_name`。但这样仍旧很麻烦。   于是本人尝试对phpmyadmin的源码进行修改。在修改了四个文件后发现能正常显示中文了。但是要求数据库,数据表,和字段使用相同的编码(通常我们都是这么做的,除非我们要测试某些东西)。原理很简,就是先检测数据库的编码(因为phpmyadmin里有现成的函数)在执行查询语句前,先执行set names 指定连接编码。经本人测试,能正常处理:查询、修改、导出和导入。   该补丁适合于3.1.1版本,其它版本未进行测试。对于3.0以后版建议使用比较工具进行修改,对于2.*版本,建议下载另外一个补丁。   注意:文件编码请使用utf-8。导出后因为文档中包含中文,不能用未修下的phpmyadmin进行导入,用命令行导入,请正确设置连接编码。请多次尝试后,再将其用于正式场合。   如遇问题,请及时与本人联系:aaliwen@126.com。
phpmyadmin是大家很常用的用来管理mysql数据库的软件。它虽然已经提供了对中文的支持,但是,仅限于字段编码为:utf-8(utf8)、gbk、gb2312。对其它的编码,使用phpmyadmin进行查看时会显示乱码。   虽然对于新的项目我们会尽量使用上面三种数据编码,但仍有一些旧项目或程序使用了其它的编码,最常见的是mysql的默认编码:latin1。   分析原因,应该是phpmyadmin在执行查询时没有指定数据编码--如果我们用命令行方式查询数据库通常会先指定一下连接编码(set names **),这样在显示查询数据时,中文就能正常显示了。   但对于phpmyadmin先执行一步set names 再执行查询语句,结果还是不能正常显示数据。   经本人测试,phpmyadmin在查询语句中如果对中文字段进行了函数转换,就能显示正常了,如下: SELECT convert( binary `chinese_field` USING gb2312 ) AS a FROM `table_name`。但这样仍旧很麻烦。   于是本人尝试对phpmyadmin的源码进行修改。在修改了四个文件后发现能正常显示中文了。但是要求数据库,数据表,和字段使用相同的编码(通常我们都是这么做的,除非我们要测试某些东西)。原理很简,就是先检测数据库的编码(因为phpmyadmin里有现成的函数)在执行查询语句前,先执行set names 指定连接编码。经本人测试,能正常处理:查询、修改、导出和导入。   该补丁适合于2.11.9.4/2.11.8.1两个版本,其它版本未进行测试。建议使用比较工具进行修改。   注意:文件编码请使用utf-8。导出后因为文档中包含中文,不能用未修下的phpmyadmin进行导入,用命令行导入,请正确设置连接编码。请多次尝试后,再将其用于正式场合。   如遇问题,请及时与本人联系:aaliwen@126.com。

56,681

社区成员

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

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