Лучший способ хранить XML в MySQL

Я получаю ответ XML API, анализирую необходимые данные, но хочу сохранить полный ответ XML в MySQL для последующего использования данных add’l.

Я изначально сохранил XML в BLOB, но обнаружил, что специальные символы иногда в значениях ломают INSERT.

Итак, я сначала конвертирую XML с htmlentities в BLOB, чтобы сохранить целостность данных исходного ответа API. Это хороший способ сделать это, или есть лучший метод?

0

Решение

Правильно экранированный, любые данные могут быть INSERTed в BLOB, htmlentities является не путь. Для mysqli API, используйте mysqli :: real_escape_string. Для ПДО используйте привязку.

Если вы работаете в Windows, обязательно извлекайте данные в двоичном режиме, иначе CR / LF может быть «исправлен» во время чтения.

Теоретически XML должно быть UTF-8, поэтому просто положить в TEXT CHARACTER SET utf8mb4 должен работать вместо BLOB,

Если ничего не помогает, рассмотрите возможность преобразования (в клиенте) большого двоичного объекта в Base64. Это будет на 4/3 больше.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector