четвер, 12 лютого 2009 р.

Проблема вставки кавычек в insert

В украинском языке часто в качестве апострофа вставляют одинарную кавычку.
Данный символ используется в SQL-запросах, как результат - не верное срабатывание SQL-запросов. Для того, чтоб SQL-запрос корректно воспринимался необходимо вместо 1 кавычки ставить 2 одинарных кавычки. В этом случае, в базу данных будет записана корректно 1 кавычка.

В Корпорации 2, чтобы не было конфликта с кавычками данная ситуация обрабатывается в командах кодирования/декодирования информации.
Таким образом, получается:
$GLOBALS["c"]->ec('Текст') - кодирует из кодировки сайта в кодировку базы данных, а так же заменяет одинарные кавычки на двойные, чтоб корректно срабатывал SQL, если есть одинарные кавычки в тексте.
$GLOBALS["c"]->dc('Текст') - декодирует из кодировки сайта в кодировку базы данных, а так же заменяет одинарные кавычки на двойные, чтоб корректно срабатывал PHP и Java-скрипт, если есть одинарные кавычки в тексте.

Так же сделаны 2 ф-ции, которые просто кодируют и декодируют информацию, но не заменяют кавычки. Эти функции пишутся так:
$GLOBALS["c"]->ec_simple('Текст') - кодирует из кодировки сайта в кодировку базы данных.
$GLOBALS["c"]->dc_simple('Текст') - декодирует из кодировки сайта в кодировку базы данных.

Немає коментарів:

Життя після 1С та BAS: Великий огляд українського ринку ERP-систем та реальних альтернатив у 2026 році

На початку 2026 року історія з 1С та BAS в Україні остаточно перестала бути темою про звичку, інерцію чи бухгалтерський комфорт. Вона перейш...