CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

还是MYSQL的乱码问题,又有新的发现

楼主tianyaxiao()2006-07-03 09:48:54 在 Web 开发 / PHP 提问

这个问题本以为已经解决了,但是后来的一些运用又不断的推翻了我以前的理解:  
  1.原以为,从mysql4.0导入到mysql4.1需要所有TYPE=MyISAM替换为ENGINE=MyISAM   DEFAULT   CHARSET=gbk等更改。但是后来发现,如果不使用PHPMYADMIN   2.7,而使用PHPMYADMIN   2.5   来导入MYSQL4.0的数据到MYSQL4.1,则无需做任何更改,而且就连set   names   gbk这句都可省略掉了!  
  而我以前使用PHPMYADMIN   2.7   先得做TYPE=MyISAM替换,然后导入到MYSQL   4.1,导入完成后还非得set   names   gbk,才能正常读出和写入。  
   
  2.今天又发现的新问题,就是使用PHPMYADMIN   2.7导入MYSQL   4.0的数据到MYSQL   5.1.6的时候也不用设置TYPE=MyISAM替换,但是需要设置set   names   gbk.  
   
  还有诸多问题就不一一道出了,不弄清楚MYSQL的原理,做项目心里面真是没底,希望大家能帮我彻底的搞清楚这个问题。  
  大家可参照:tiantian2.bigwww.com(第一个问题的示例,使用PHPMYADMIN   2.5从MYSQL4.0导入数据到MYSQL   4.1,无需做任何更改直接导入,而且导入后不需要set   names   gbk) 问题点数:20、回复次数:9Top

1 楼mynamesucks(迅雷不及掩耳盗铃之势如破竹)回复于 2006-07-03 10:08:19 得分 0

和你有同样的感觉Top

2 楼xuzuning(唠叨)回复于 2006-07-03 10:10:30 得分 0

个人观点  
   
  phpmyadmin自2.6起加入了关于字符集的功能,但是始终都没有处理好  
  phpmyadmin在处理数据交换时使用了mbstring扩展库,这是不应该的。  
  所以,建议不要用phpmyadmin2.6以后的版本做数据导入导出的工作。除非你确切的知道结果是什么  
   
  数据库是用来保存数据的。近来什么就出去什么,不能有任何失真,这是基本原则  
   
  数据库引入字符集的概念是为了更好的处理非英语的语言文字。但是至少mysql到目前为止还没有完全实现这个目标。换句话说就是mysql依然不是宽字符可靠的数据库。  
   
  Top

3 楼longxin123(龙的心)回复于 2006-07-03 11:48:10 得分 0

http://blog.chinaunix.net/u/19869/showart.php?id=121729Top

4 楼tianyaxiao()回复于 2006-07-03 12:02:42 得分 0

为什么MS的ACCESS,MSSQL等都没用这些问题,MS的实现方法很难么?Top

5 楼tianyaxiao()回复于 2006-07-03 12:09:36 得分 0

TO   longxin123(龙的心)   :  
  这个方法俺早知道了,因为条件限制从来没用过(虚拟主机),另外“存入的和读取的编码一致就不会再产生乱码”,很不具体,分很多环境的啊,现在我做的东西也不会出现乱码,但是都只是按网上提供的方法进行的操作,只是感觉很玄乎。Top

6 楼ashchen(老陳)回复于 2006-07-03 14:14:28 得分 0

个人感觉mysql5乱码问题  
  4.0及以前版本,单字节和多字节是可以混合存的  
  4.1及以后版本,是根据字段的编码来存的  
   
  英文只要单字节就能解决,但是汉语,有abc,也有双字节和多字节  
  有88591也有gb2312,以及utf-8  
  4.1以后严格区分了这三种格式所以不能象以前那样偷懒也可以不出错  
  另外phpmyadmin在这个阶段没有处理好这个问题是问题根源所在  
  phpmyadmin是老外维护的,他们不大关心多字节问题  
  我们可以看到4.1以后phpmyadmin字节把编码变成utf-8就不管了,而国内多大多数还是用gb2312或gbk,所以这就出现了现在的问题,本来想改一下phpmyadmin的utf-8成gbk,支持的人太少就放弃了  
   
  选择其他mysql客户端管理mysql也许是比较好的选择例如mysql-frontTop

7 楼xwsn(孤帆远影)回复于 2006-07-04 09:07:50 得分 0

记号Top

8 楼rose999(gsz0506)回复于 2006-08-15 10:36:59 得分 0

upTop

9 楼Gdj(陈水.智商只有129.非卖品)回复于 2006-08-15 11:10:04 得分 0

从来不用phpmyadmin。功能太少。Top

相关问题

关键词

得分解答快速导航

  • 帖主:tianyaxiao

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo