一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

phpmyadmin3.x版在windows下的新版本php里日期显示乱码

时间:2016-03-01 编辑:简简单单 来源:一聚教程网

现象:

一直使用的phpmyadmin3.5版本(RELEASE-DATE-3.5.0,一个做了配置优化的版本 phpMyAdmin_3.5_path8.net),这个版本比较简洁,更新的pma有些臃肿。然而,在windows下使用php5.5, 及php7.0,都发现日期显示成乱码

phpmyadmin_35_date_string_bad

方案:

文件 libraries/common.lib.php , 行1648行

        $format = __('%B %d, %Y at %I:%M %p');
改成

        $format = '%Y-%m-%d %H:%M:%S';
即可,日期格式显示格式示例 2016-01-27 11:49:07

phpmyadmin_35_date_string_fixed

原因:

PMA_localisedDate函数使用了strftime()函数,该strftime函数第一个参数为日期格式,phpmyadmin源程序使用了带中文的格式字符串;而在windows下的php版本,在做格式化时会转成乱码。经确认linux下没有这个问题,pma是正常的。

补充:PHPMyAdmin中文乱码问题很常见,主要是UTF-8和GB2312编码不能同时正确显示。

方法一:

1. 因为MySQL的默认编码是latin1,所以首先我们需要修改一下PHPMyAdmin的编码转换。修改libraries目录下面的select_lang.lib.php文件,将 'utf-8' => 'utf8'修改成'utf-8' => 'latin1'。

2. 接下来还要修改一下页面的编码显示,将 'zh-gb2312' => array('zh|chinese simplified', 'chinese_simplified-gb2312', 'zh')修改成 'zh-gb2312-utf-8' => array('zh|chinese simplified', 'chinese_simplified-gb2312', 'zh'), 也就是在zh-gb2312后面增加-utf-8,这样页面编码就支持UTF-8了。

3. 首先选择zh-gb2312-utf-8进入PHPMyAdmin,这个时候浏览GB2312编码的数据正常,但是浏览UTF-8的数据是乱码。如果浏览UTF-8的数据的话,进入首页,然后在Language里面选择zh-utf-8就可以了。

4. 默认的语言编码很长,你可以将其他编码用/**/注释掉,只保留zh-gb2312-utf-8和zh-utf-8两个编码。

方法二:

也可以修改phpMyAdm的inconfig.inc.php配置文件,将$cfg['Lang'] = 'en-utf-8'改成$cfg['Lang'] = 'zh-gb2312'这样问题就解决了。

热门栏目