просмотр MySQL капли с замазкой - PullRequest
0 голосов
/ 20 октября 2011

Я сохраняю сериализованный объект в BLOB-объекте базы данных mysql.

После вставки некоторых тестовых объектов, а затем попытки просмотреть таблицу, я получаю много мусора и несколько раз "PuTTYPuTTY".

Я считаю, что это как-то связано с кодировкой символов и большим двоичным объектом, содержащим странные символы.

Я просто хочу проверить и выяснить, не вызовет ли это проблемы с моей базой данных, или этопросто проблема с замазкой, показывающей данные?

Описание QuizTable:

+-------------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+-------------------------------------------------------------------------------------------------------------------+
| Field       | Type        | Collation         | Null | Key | Default | Extra          | Privileges                      | Comment                                                                                                           |
+-------------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+-------------------------------------------------------------------------------------------------------------------+
| classId     | varchar(20) | latin1_swedish_ci | NO   |     | NULL    |                | select,insert,update,references | FK related to the ClassTable. This way each Class in the ClassTable is associated with its quiz in the QuizTable. |
| quizId      | int(11)     | NULL              | NO   | PRI | NULL    | auto_increment | select,insert,update,references | This is the quiz number associated with the quiz.                                                                 |
| quizObject  | blob        | NULL              | NO   |     | NULL    |                | select,insert,update,references | This is the actual quiz object.                                                                                   |
| quizEnabled | tinyint(1)  | NULL              | NO   |     | NULL    |                | select,insert,update,references |                                                                                                                   |
+-------------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+-------------------------------------------------------------------------------------------------------------------+

Что я вижу, когда пытаюсь просмотреть содержимое таблицы:

select * from QuizTable;

questionTextq ~ xp    sq ~    w
t q1a1t q1a2xt 1t q1sq ~     sq ~    w
t q2a1t q2a2t q2a3xt 2t q2xt test3 |           1 |
+-------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+
3 rows in set (0.00 sec)

Ответы [ 2 ]

1 голос
/ 20 октября 2011

Полагаю, вы можете использовать функцию hex как для больших двоичных объектов, так и для строк.Вы можете выполнить запрос как этот.

Select HEX(quizObject) From QuizTable Where....
0 голосов
/ 20 октября 2011

Putty реагирует на то, что она считает символьными строками терминала в вашем потоке вывода.Эти строки позволяют удаленному хосту что-то менять в локальном терминале, не перерисовывая весь экран, например, устанавливать заголовок, позиционировать курсор, очищать экран и т. Д.

Так получилось, что при попытке«отобразить» что-то вроде этого, что большая часть двоичных данных в конечном итоге отправляет эти символы.

Вы также получите эту реакцию, перехватывающую двоичные файлы.

blob будет полностью игнорировать любой символНастройки кодирования у вас есть.Он действительно предназначен для хранения бинарных объектов, таких как изображения или zip-файлы.

Если в этом поле будет только текст, я бы предложил использовать текстовое поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...