当前位置: 首页 > 图文教程 > 网络编程 > PHP > 解决phpMyAdmin2.6以上版本数据乱码问题

PHP
php代码优化及php相关问题总结
实现提高PHP效率的集中方法
PHP中删除目录的三种方法
PHP索引数组、多维数组以及相关数组
PHP网站开发遇到的中文编码
PHP动态生成switch-PHP的eval()的使用
php获得一个文件夹下所有文件的文件名
php生成outlook-php日历文件
php的register_shutdown_function函数详解
PHP脚本的8个技巧之一-Apache DSO
PHP使用mail函数发送邮件标题乱码问题
DISCUZ架构:AJAX之ajax.js 函数之一
DISCUZ架构:AJAX之ajax.js 函数之二
DISCUZ架构:AJAX之ajax.js 函数之三
你用用PHP获取前天和昨天日期
php语言中switch的用法介绍
PHP实例:FCKeditor 的配置和使用方法
PHP5.0对象模型探索之抽象方法和抽象类
php的content-type=text/html问题
PHP分析.wav文件并绘制png格式的波形图

PHP 中的 解决phpMyAdmin2.6以上版本数据乱码问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 105 ::
收藏到网摘: n/a

 

在phpMyAdmin2.6以上版本因为支持多语言集,弄得我们使用phpMyAdmin管理数据库的时候,查询出来的中文都是乱码,但是在我们的PHP程序调用时却没有这些问题。
看来是phpMyAdmin2.6的配置有问题了,为了解决这个问题,我上google上搜索了相关资料,这类的问题很多,但没一个可以解决的,真是没办法,看来只有自己动手解决了。

。。。由于查找源代码过程非常烦琐,略

最终花了半天的时间,总算找到了一个比较折衷的方法来解决。

去phpMyAdmin2.6的根目录下,打开以下这个文件:
libraries/select_lang.lib.php
1、找到有"zh-gb2312"的那一行,把'zh-gb2312' 改成 'zh-gb2312-utf-8'
   为什么这样加?那是因为服务器会把没有"-utf-8"的语言过滤掉,在libraries/database_interface.lib.php 第168行,根据英文说:“为了防止混淆”,:<

或者如果不把'zh-gb2312' 改成 'zh-gb2312-utf-8',可以去掉过滤吧。把那个if去掉就OK了。

2、找到"$mysql_charset_map = array("那一行
把'gb2312'       => 'gb2312',
改成 'gb2312'       => 'latin1',

保存,OK,在进入phpMyAdmin管理,选择语言chinese simplified(zh-gb2312-utf-8)
再看看你的那些中文数据。

所以说,我的这个解决办法就只是修改libraries/select_lang.lib.php这一个文件里的两个字就行,比较方便快捷,哈哈。