mysql4.0升级到5.0,phpmyadmin乱码,网站程序正常

原贴:http://topic.csdn.net/t/20051202/14/4433806.html

mysql4.0升级到5.0,phpmyadmin乱码,网站程序正常,helpme!!!

楼主aiiiq(外星人木有小JJ) 2005-12-02 14:25:54 在 Web 开发 / PHP 提问

网站 程序 的编码都是gb2312,程序一切正常  
   
  但在phpmyadmin   2.7.0里面就是乱码。。。  
   
  4.0  
    音乐 欣赏  
   
  5.0  
  ÒôÀÖÐÀÉÍ  
   
   
  mysql4.0  
  -----------------------  
  character   set     latin1     latin1      
  character   sets     latin1   big5   czech   euc_kr   gb2312   gbk   latin1_de   sjis   tis620   ujis   dec8   dos   german1   hp8   koi8_ru   latin2   swe7   usa7   cp1251   danish   hebrew   win1251   estonia   hungarian   koi8_ukr   win1251ukr   greek   win1250   croat   cp1257   latin5     latin1   big5   czech   euc_kr   gb2312   gbk   latin1_de   sjis   tis620   ujis   dec8   dos   german1   hp8   koi8_ru   latin2   swe7   usa7   cp1251   danish   hebrew   win1251   estonia   hungarian   koi8_ukr   win1251ukr   greek   win1250   croat   cp1257   latin5      
  -----------------------  
   
   
  mysql5.0  
  -----------------------  
  character   set   client     utf8     latin1      
  character   set   connection     latin1     latin1      
  character   set   database     latin1     latin1      
  character   set   results     utf8     latin1      
  character   set   server     latin1     latin1      
  character   set   system     utf8     utf8      
  collation   connection     latin1_swedish_ci     latin1_swedish_ci      
  collation   database     latin1_swedish_ci     latin1_swedish_ci      
  collation   server     latin1_swedish_ci     latin1_swedish_ci      
  -----------------------  
  问题点数:100、回复次数:9Top

scrolling="no" frameborder="0" src="http://topic.csdn.net/Include/Board.htm?Tags=">

1 楼xuzuning(唠叨)回复于 2005-12-02 14:30:15 得分 20

mysql4.0升级到5.0,phpmyadmin 乱码 ,网站程序正常  
   
  这只能说明phpmyadmin在处理上有问题!!!  
  因为phpmyadmin要使用漏洞百出的mb_string扩展Top

2 楼aiiiq(外星人木有小JJ)回复于 2005-12-02 14:42:43 得分 0

没有发现   PHP   的扩展设置mbstring,   而当前系统好像在使用宽字符集。没有   mbstring   扩展的   phpMyAdmin   不能正确识别字符串,可能产生不可意料的 结果 .  
   
   
   
  我没装mb_string,不想编译mysql5.0  
   
  怎样查看mysql4.0有没有装mb_string呢?我用的是linuxTop

3 楼helloyou0(你好!)回复于 2005-12-02 15:17:16 得分 20

这个还是character   set的问题。  
  phpmyadmin是把客户端设为utf8的。  
  你的库里的字段如果是latin1,它做latin1到utf8的转换,这个结果不可能是正确中文。  
  而你的程序不受影响是因为两个(>128)的latin1的字符是能够拼成一个gbk汉字的。  
   
  你需要把数据库character   set设为gbk或utf8,  
  根据你的客户端在程序里连接后使用set   names   xxx  
  如果需要,可能要重新导入一下原有数据Top

4 楼ashchen(老陳)回复于 2005-12-02 15:19:08 得分 20

这不是mb_string的问题  
  pma在mysql4.1版本后使用utf-8编码,而数据库内是gb2312当然乱了  
    可以用其他的 管理 工具ssTop

5 楼aiiiq(外星人木有小JJ)回复于 2005-12-02 15:32:25 得分 0

mysql>   show   variables   like   "%char%";  
  +--------------------------+----------------------------------------+  
  |   Variable_name                         |   Value                                                                     |  
  +--------------------------+----------------------------------------+  
  |   character_set_client           |   latin1                                                                   |  
  |   character_set_connection   |   latin1                                                                   |  
  |   character_set_database       |   latin1                                                                   |  
  |   character_set_results         |   latin1                                                                   |  
  |   character_set_server           |   latin1                                                                   |  
  |   character_set_system           |   utf8                                                                       |  
  |   character_sets_dir               |   /usr/local/mysql/share/mysql/charsets/   |  
  +--------------------------+----------------------------------------+  
  7   rows   in   set   (0.02   sec)  
   
  mysql>   请大侠看看,咋办?Top

6 楼aiiiq(外星人木有小JJ)回复于 2005-12-02 15:33:52 得分 0

mysql>   show   variables   like   "%colla%";  
  +----------------------+-------------------+  
  |   Variable_name                 |   Value                           |  
  +----------------------+-------------------+  
  |   collation_connection   |   latin1_swedish_ci   |  
  |   collation_database       |   latin1_swedish_ci   |  
  |   collation_server           |   latin1_swedish_ci   |  
  +----------------------+-------------------+  
  3   rows   in   set   (0.00   sec)  
   
  mysql>   还有这个。。。Top

7 楼helloyou0(你好!)回复于 2005-12-02 15:43:28 得分 20

character_set_database       |   latin1       =>   gbk  
  看所有varchar的字段后面的character   set都应该变成一样的gbk了  
   
  程序中连接之后   执行   ‘set   names   gbk'  
  在执行这个之后   collation_connection   、client、result的character   set都应该是gbk了。  
  (要看的话,要在程序里做   show   variables   ,   在外面做不一样,是基于连接的)  
   
  这个时候看程序运行的结果,如果不对,数据要重新导入一下。  
  不知道你目前导入导出数据是如何做的,也要注意character   set的问题,要不导进去编码就不对。  
   
  这些搞好了,phpmyadmin应该就对了  
   
  Top

8 楼ashchen(老陳)回复于 2005-12-03 12:22:08 得分 20

最好的办法是:  
  把phpmyadmin的lang/chinese_simplified-gb2312.inc.php覆盖chinese_simplified-utf-8.inc.php  
  Top

9 楼aiiiq(外星人木有小JJ)回复于 2005-12-05 09:05:58 得分 0

bu   hao   yong
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值