phpmyadmin 为 mysql utf8_bin 排序列显示数字或 blob?

Posted

技术标签:

【中文标题】phpmyadmin 为 mysql utf8_bin 排序列显示数字或 blob?【英文标题】:phpmyadmin shows numbers or blob for mysql's utf8_bin callation columns? 【发布时间】:2011-02-12 20:37:28 【问题描述】:

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

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

谢谢 马克

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

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

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

【问题讨论】:

这似乎和***.com/questions/2188264/…是同一个问答空间? 【参考方案1】:

事实上,你可以。但是您需要有权访问 phpMyAdmin php 文件。如果有,请转到 /libraries/config.default.php

然后寻找 $cfg['DisplayBinaryAsHex'] = true;并将值更改为“假”。 (应该在第 888 行左右)

干杯,

罗宾

【讨论】:

好的,忽略“不!!不要编辑!!”在该文件开头的 acsii art big font 中进行评论,它实际上可以工作并且似乎并没有搞砸事情:) 我正在该文件中搜索另一个选项,以使“显示 BLOB 内容”也默认为 true,但我找不到它。你也知道如何启用它吗?谢谢。【参考方案2】: 不要编辑这个文件,而是编辑 config.inc.php !!!

因此,要根据 PMA 作者的正确文档执行此操作,请编辑 config.inc.php。 添加行: $cfg['DisplayBinaryAsHex'] = false;

到您的 config.inc.php 文件。

;-)

【讨论】:

你的意思是config.default.php【参考方案3】:

将以下行附加到您的config.inc.php

$_REQUEST['display_blob'] = true;

让 BLOB 始终在结果表中展开,并且

$cfg['ProtectBinary'] = false;

能够编辑它们。

您可能还想看看phpMyAdmin wiki。

更新

在 3.2.4 中就足够了。在 3.2.5 中,为了在编辑行时查看文本而不是十六进制,您还需要按照 Robin 的建议进行操作,将以下条目添加到配置中:

$cfg['DisplayBinaryAsHex'] = false;

【讨论】:

设置 $_REQUEST 变量会默认为我显示 blob。谢谢! 你的意思是config.default.php【参考方案4】:

我认为最好的解决方案是改变这一行:

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

到这里:

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

如果您有可用的 mysqli 扩展,请使用它。它更安全,更优化,默认情况下它更好地处理 utf-8 的 BLOB 类型。您的 [BLOB] 条目应该开始显示为它们的值,而无需添加任何其他特殊配置选项。

【讨论】:

我可以确认这会有所作为。在尝试了一系列其他更改后,切换到 mysqli utf8_bin 列再次开始显示为常规文本。【参考方案5】:

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

我在 phpMyAdmin 中将“&”显示为“&”时遇到了问题 - 切换到 MySQLi 可以解决该问题(因此“&”显示为“&”)。

【讨论】:

以上是关于phpmyadmin 为 mysql utf8_bin 排序列显示数字或 blob?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 默认日期时间通过 phpmyadmin

在 phpmyadmin 中导出带有批量数据的 mysql 表

phpmyadmin 为 mysql utf8_bin 排序列显示数字或 blob?

WAMP中的mysql设置密码(默认密码为空)及phpmyadmin的配置

为 phpMyAdmin 设置密码

MySQL、phpMyAdmin:TIMESTAMP 始终执行 NOW 函数