phpmyadmin показывает числа или blob для столбцов вычисления mysql utf8_bin? - PullRequest
5 голосов
/ 27 апреля 2010

У меня есть таблица с колонкой varchar. Его сопоставление установлено в utf8_bin. Мое программное обеспечение с использованием этой таблицы и столбца работает отлично. Но когда я смотрю на содержимое в phpmyadmin, я вижу только некоторые шестнадцатеричные значения или [Blob xB]. Можно ли заставить phpmyadmin правильно показывать содержимое?

Кроме того, когда я устанавливаю параметры сортировки в utf8_general_ci или utf8_unicode_ci, phpmyadmin показывает содержимое правильно.

Thx Марк

[edit] Ха, я обнаружил, что над каждой таблицей в phpmyadmin есть небольшая ссылка "+ Опции". Он открывает несколько опций, включая «Показывать содержимое BLOB» - что делает [blob] доступным для чтения текстом при включении и «Показывать двоичное содержимое как HEX», которое показывает шестнадцатеричные коды в виде текста, когда отключено.

Не знаю, почему есть два варианта и почему иногда есть [Blob], а иногда шестнадцатеричные значения.

Хорошо. Теперь мне все еще интересно: настройки этих параметров теряются, когда я иду к другому столу. Я должен установить их каждый раз, когда я иду туда. Есть ли способ сохранить эти параметры? [/ Править]

Ответы [ 5 ]

7 голосов
/ 07 декабря 2010
  • НЕ РЕДАКТИРОВАТЬ ЭТОТ ФАЙЛ, РЕДАКТИРОВАТЬ config.inc.php INSTEAD !!!

Итак, чтобы сделать это в соответствии с документацией автора PMA, отредактируйте файл config.inc.php. Добавьте строку: $ cfg ['DisplayBinaryAsHex'] = false;

в ваш файл config.inc.php.

; -)

4 голосов
/ 24 июня 2011

Я думаю, что лучшее решение состоит в том, чтобы изменить эту строку:

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

к этому:

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

Если у вас есть расширение mysqli, используйте его. Он более безопасный, немного более оптимизированный и по умолчанию лучше обрабатывает тип BLOB типа utf-8. Ваши записи [BLOB] должны начать отображаться как их значения без добавления каких-либо других специальных параметров конфигурации.

2 голосов
/ 01 июня 2011

Добавьте следующие строки к вашему config.inc.php:

$_REQUEST['display_blob'] = true;

, чтобы объекты BLOB всегда расширялись в таблице результатов, и

$cfg['ProtectBinary'] = false;

, чтобы иметь возможность их редактировать.

Вы также можете взглянуть на phpMyAdmin wiki .

ОБНОВЛЕНИЕ

Этого было достаточно в 3.2.4.В 3.2.5, чтобы видеть текст, а не шестнадцатеричный код при редактировании строки, вам также нужно сделать, как предложил Робин, добавить следующую запись в конфигурацию:

$cfg['DisplayBinaryAsHex'] = false;
2 голосов
/ 08 мая 2010

На самом деле, вы можете. Но вам нужно иметь доступ к php-файлам phpMyAdmin. Если у вас есть, перейдите в /libraries/config.default.php

Затем найдите $ cfg ['DisplayBinaryAsHex'] = true; и измените значение на «ложь». (Должно быть около 888)

Приветствия

Robin

1 голос
/ 08 октября 2012
Предложение

cwd также решает другую проблему.

У меня были проблемы с отображением "&" как "&" в phpMyAdmin - переключение на MySQLi устраняет эту проблему (поэтому "&" отображается как "&").

...