phpmyadmin显示mysql utf8_bin整理列的数字或blob?

时间:2010-04-27 12:55:35

标签: mysql collation utf-8 phpmyadmin

我有一个带varchar列的表。其排序规则设置为utf8_bin。我使用此表和列的软件完美运行。但是当我查看phpmyadmin中的内容时,我只看到一些十六进制值或[Blob xB]。我可以让phpmyadmin正确显示内容吗?

此外,当我将排序规则设置为utf8_general_ci或utf8_unicode_ci时,phpmyadmin会正确显示内容。

THX    马克

[编辑]哈哈,我发现,phpmyadmin中的每个表上面都有一个小的“+选项”链接。它打开了几个选项,包括“显示BLOB内容” - 使[blob]在启用时显示为可读文本,“将二进制内容显示为HEX”,在禁用时将十六进制代码显示为文本。

不知道为什么有两个选项,为什么有时会有[Blob],有时还有十六进制值。

好。现在我还在想:当我去另一张桌子时,设置这些选项会丢失。我每次去那里都要设置它们。有没有办法保存这些选项? [/编辑]

5 个答案:

答案 0 :(得分:7)

  • 请勿编辑此文件,编辑config.inc.php INSTEAD !!!

因此,要根据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)

cwd的建议也解决了另一个问题。

我在phpMyAdmin中将“&”显示为“&”时出现问题 - 切换到MySQLi会使问题消失(因此“&”显示为“ &“)。