2010-08-23 5 views
1

В настоящее время я работаю с базой данных sql 2008. Многие из записей имеют амперсанды, хранящиеся таким образом «Искусство & Культура» Должны ли мы хранить экранированную версию в базе данных? Любые мысли очень ценятся.Сохранение амперсанда в базе данных

ответ

11

Вообще говоря, все в базе данных должно храниться как можно ближе к исходной версии. Если вам нужно выполнить любое экранирование, сделайте это за пределами БД.

Причина для этого проста: это только в Интернете, где вы должны esape знак &. Если у вас когда-нибудь будет не-веб-интерфейс для вашей БД, вам придется преобразовать эти escape-последовательности обратно в исходное значение, что не всегда возможно: например, если пользователь вводит & (sic), при повторной конвертации это будет переведено на &, что потеряет исходное значение.

+0

Спасибо, я думаю, тот, кто установил это, сохранен как есть в Интернете, и вот почему эти экранированные символы повсюду. Мне нужно будет выполнить поиск и заменить, я думаю. – Chin

1

SQL Server будет хранить Arts & Culture просто отлично, в поле VARCHAR (x) или NVARCHAR (x) (Unicode-variant - 2 bytes per character).

С точки зрения базы данных нет абсолютно никакой необходимости в том, чтобы избежать чего-либо.

Смежные вопросы