Сохранение URL-адресов изображений в таблицу базы данных - PullRequest
1 голос
/ 13 февраля 2010

Я пытаюсь сохранить URL-адреса изображений в таблице базы данных MySQL

Поле столбца достаточно длинное. Таблица и база данных используют общую сортировку UTF-8 CI (IIRC)

URL выглядят примерно так:

http://example.com/media/images/47142000/jpg/_47142379_005857853-1.jpg

но они спасаются так:

http://example.com/media/images/47142000/jpg...

может показаться, что появление '_' вызывает проблемы с MySQL. Нужно ли urlencode строки (или выполнить какие-либо другие операции с данными в строке) перед сохранением в базе данных?

1 Ответ

1 голос
/ 13 февраля 2010

Внутри строки определенные последовательности имеют особое значение, если не включен режим SQL NO_BACKSLASH_ESCAPES.Каждая из этих последовательностей начинается с обратной косой черты («\»), известной как escape-символ.MySQL распознает следующие escape-последовательности.

\ 0 ASCII NUL (0x00) символ.\ 'Символ одинарной кавычки («»).\ "Двойная кавычка (" "»).\ b Символ возврата.\ n Символ новой строки (перевода строки).Символ возврата каретки.\ t Символ табуляции.\ Z ASCII 26 (Control-Z).Смотрите примечание после таблицы.\ Обратная косая черта («\»).\% Характер.Смотрите примечание после таблицы._ Характер.См. Примечание после таблицы.

Вы должны экранировать символ _.

См. http://dev.mysql.com/doc/refman/5.0/en/string-syntax.html для получения дополнительной информации

...