我在MAMP-pro中运行phpMyAdmin,最近注意到我升级到phpMyAdmin 4.1.7后开始的一些奇怪的行为。基本上,varchar字段在查看表或甚至查询结果时不会正确显示,但在单个记录显示中则不会。
产品字段是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,它们始终显示正确,以及为什么直到最近才出现问题。
答案 0 :(得分:0)
修改./config.inc.php
并更改行
$cfg['Servers'][$i]['extension'] = 'mysql';
到
$cfg['Servers'][$i]['extension'] = 'mysqli';