2

我在 MAMP-pro 中运行 phpMyAdmin,最近注意到在我升级到 phpMyAdmin 4.1.7 后开始出现一些奇怪的行为。基本上,在查看表或查询结果时,varchar 字段不会正确显示,但不会在单个记录显示中正确显示。

product 字段是一个 varchar 字段,通常类似于“300x250”,而不是那个十六进制值字符串: 在此处输入图像描述

编辑第一条记录会给我这个正确显示值的屏幕: 在此处输入图像描述

这个问题是从我本地升级到4.1.7开始的,所以我降级回4.0.6,一切又正常了。但是,这些表是从另一个生产数据库复制过来的。我使用 phpMyAdmin 从生产中导出,然后删除本地表,然后将它们重新导入本地。

现在,所有 varchar 字段都显示为两位数十六进制值的字符串,但仅在我已删除和导入的那些表中。一段时间未触及的表仍会显示正确的 varchar 值。

在升级之前我从未见过这个问题,但现在它开始发生在 4.0.6 上。生产服务器使用的是 3.4.10.1,但最近没有更新,所以我认为这不是问题,因为我以前经常执行此过程并且从未遇到任何问题。

编辑: 所以在进一步阅读之后,我意识到问题在于 varchar 字段设置为 utf8_bin,需要更改为 utf8_general_ci。我不明白的是,生产数据库中的字段设置为 utf8_bin,并且它们始终正确显示,以及为什么直到最近才成为问题。

4

1 回答 1

0

编辑./config.inc.php和更改行

$cfg['Servers'][$i]['extension'] = 'mysql';

$cfg['Servers'][$i]['extension'] = 'mysqli';
于 2014-04-28T15:16:28.207 回答