PHP / MySQL, отбрасывая Unicode, отправленный с клиента - PullRequest
0 голосов
/ 22 февраля 2010

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

1 Ответ

3 голосов
/ 22 февраля 2010

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

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

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

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

...