我有一个带varchar列的表。其排序规则设置为utf8_bin。我使用此表和列的软件完美运行。但是当我查看phpmyadmin中的内容时,我只看到一些十六进制值或[Blob xB]。我可以让phpmyadmin正确显示内容吗?
此外,当我将排序规则设置为utf8_general_ci或utf8_unicode_ci时,phpmyadmin会正确显示内容。
THX 马克
[编辑]哈哈,我发现,phpmyadmin中的每个表上面都有一个小的“+选项”链接。它打开了几个选项,包括“显示BLOB内容” - 使[blob]在启用时显示为可读文本,“将二进制内容显示为HEX”,在禁用时将十六进制代码显示为文本。
不知道为什么有两个选项,为什么有时会有[Blob],有时还有十六进制值。
好。现在我还在想:当我去另一张桌子时,设置这些选项会丢失。我每次去那里都要设置它们。有没有办法保存这些选项? [/编辑]
答案 0 :(得分:7)
因此,要根据PMA作者的正确文档执行此操作,请编辑config.inc.php。 添加行: $ cfg ['DisplayBinaryAsHex'] = false;
到你的config.inc.php文件。
- )
答案 1 :(得分:4)
我认为最好的解决方案是改变这一行:
$cfg['Servers'][$i]['extension'] = 'mysql';
到此:
$cfg['Servers'][$i]['extension'] = 'mysqli';
如果您有mysqli扩展程序,请使用它。它更安全,更优化,默认情况下它更好地处理utf-8的BLOB类型。您的[BLOB]条目应该开始显示为其值,而不必添加任何其他特殊配置选项。
答案 2 :(得分:2)
事实上,你可以。但是您需要访问phpMyAdmin php文件。如果有,请转至/libraries/config.default.php
然后寻找$ cfg ['DisplayBinaryAsHex'] = true;并将值更改为“false”。 (它应该在第888行附近)
干杯,
罗宾
答案 3 :(得分:2)
将以下行附加到config.inc.php
:
$_REQUEST['display_blob'] = true;
让BLOB始终在结果表中展开,
$cfg['ProtectBinary'] = false;
能够编辑它们。
您可能还想查看phpMyAdmin wiki。
更新
3.2.4就足够了。在3.2.5中,为了在编辑行时看到文本而不是十六进制,你还需要像Robin建议的那样,在配置中添加以下条目:
$cfg['DisplayBinaryAsHex'] = false;
答案 4 :(得分:1)
我在phpMyAdmin中将“&
”显示为“&
”时出现问题 - 切换到MySQLi会使问题消失(因此“&
”显示为“ &
“)。