Вы должны кодировать или экранировать свои данные только в самый последний момент, будь то непосредственно перед тем, как поместить их в базу данных, или отобразить их на экране. Если вы закодируете слишком рано, вы рискуете случайно удвоить кодирование (вы часто будете видеть &
на сайтах новичков - включая меня).
Если вы хотите кодировать раньше этого, тогда примите меры, чтобы избежать двойного кодирования. Джоэл написал статью о хорошем использовании венгерской нотации, где он высказался за использование префиксов для определения того, что хранится в переменной. Например: «us» для небезопасной строки, «ss» для безопасной строки.
usFirstName = getUserInput('firstName')
ssFirstName = cleanString(usFirstName);
Также обратите внимание, что не имеет значения, какой тип информации (город, почтовый индекс и т. Д.) - если оставить все это без контроля, возникнут проблемы.