2010-02-22 3 views
0

Все наши таблицы в настоящее время установлены с набором символов LATIN1. В настоящее время пользователь может собирать последовательности юникодов на клиенте и пытаться внедрить их в наше приложение. Каков наилучший способ отбросить всех символов Юникода от попадания в нашу базу данных? Еще лучше, это лучший способ убедиться, что только символы, основанные на наборе символов LATIN1, вставляются в db?PHP/MySQL, отбрасывающий Unicode, отправленный с клиента

ответ

3

Есть несколько вещей, которые вы можете сделать.

Во-первых, вы можете добавить атрибут accept-charset в форму тегов так:

<form accept-charset="ISO-8859-1"> 

К сожалению, IE не поддерживает это очень хорошо (конечно), так что вы можете использовать iconv один раз преобразовать данные у вас это есть на вашем сервере. Функция iconv() может конвертировать из одной кодировки в другую. Вы можете указать, хотите ли вы переводить несовместимые символы, игнорировать или вызывать уведомление.

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