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

aiiiq 2005-12-02 02:25:54
网站程序的编码都是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
-----------------------
...全文
418 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiiiq 2005-12-05
  • 打赏
  • 举报
回复
bu hao yong
ashchen 2005-12-03
  • 打赏
  • 举报
回复
最好的办法是:
把phpmyadmin的lang/chinese_simplified-gb2312.inc.php覆盖chinese_simplified-utf-8.inc.php
helloyou0 2005-12-02
  • 打赏
  • 举报
回复
character_set_database | latin1 => gbk
看所有varchar的字段后面的character set都应该变成一样的gbk了

程序中连接之后 执行 ‘set names gbk'
在执行这个之后 collation_connection 、client、result的character set都应该是gbk了。
(要看的话,要在程序里做 show variables , 在外面做不一样,是基于连接的)

这个时候看程序运行的结果,如果不对,数据要重新导入一下。
不知道你目前导入导出数据是如何做的,也要注意character set的问题,要不导进去编码就不对。

这些搞好了,phpmyadmin应该就对了

aiiiq 2005-12-02
  • 打赏
  • 举报
回复
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> 还有这个。。。
aiiiq 2005-12-02
  • 打赏
  • 举报
回复
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> 请大侠看看,咋办?
ashchen 2005-12-02
  • 打赏
  • 举报
回复
这不是mb_string的问题
pma在mysql4.1版本后使用utf-8编码,而数据库内是gb2312当然乱了
可以用其他的管理工具ss
helloyou0 2005-12-02
  • 打赏
  • 举报
回复
这个还是character set的问题。
phpmyadmin是把客户端设为utf8的。
你的库里的字段如果是latin1,它做latin1到utf8的转换,这个结果不可能是正确中文。
而你的程序不受影响是因为两个(>128)的latin1的字符是能够拼成一个gbk汉字的。

你需要把数据库character set设为gbk或utf8,
根据你的客户端在程序里连接后使用set names xxx
如果需要,可能要重新导入一下原有数据
aiiiq 2005-12-02
  • 打赏
  • 举报
回复
没有发现 PHP 的扩展设置mbstring, 而当前系统好像在使用宽字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果.



我没装mb_string,不想编译mysql5.0

怎样查看mysql4.0有没有装mb_string呢?我用的是linux
xuzuning 2005-12-02
  • 打赏
  • 举报
回复
mysql4.0升级到5.0,phpmyadmin乱码,网站程序正常

这只能说明phpmyadmin在处理上有问题!!!
因为phpmyadmin要使用漏洞百出的mb_string扩展

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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