PHP: конвертируйте любую строку в UTF-8, не зная исходного набора символов, или хотя бы попробуйтеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHP: конвертируйте любую строку в UTF-8, не зная исходного набора символов, или хотя бы попробуйте

Сообщение Anonymous »

У меня есть приложение, которое работает с клиентами со всего мира, и, естественно, я хочу, чтобы все, что попадает в мои базы данных, было в кодировке UTF-8.
Основная проблема для меня в том, что я не знаю, какая кодировка будет источником любой строки - это может быть текстовое поле (использование полезно только в том случае, если пользователь фактически отправил форму), или это может быть из загруженного текстового файла, поэтому я действительно не могу контролировать ввод.
Мне нужна функция или класс, который проверит материал, попадающий в мою базу данных, насколько это возможно, имеет кодировку UTF-8. Я пробовал iconv(mb_detect_encoding($text), "UTF-8", $text);
но есть проблемы (если на входе «невеста», возвращается «невеста»). Я пробовал много вещей =/
Для загрузки файлов мне нравится идея попросить конечного пользователя указать используемую кодировку и показать ему предварительный просмотр того, что будет на выходе. похоже, но это не поможет против противных хакеров (на самом деле, это может немного облегчить им жизнь).
Я прочитал другие вопросы по Stack Overflow на эту тему, но, кажется, все они имеют тонкие различия, такие как «Мне нужно анализировать RSS-каналы» или «Я собираю данные с веб-сайтов» (или, действительно, «Вы не можете»).
Но должно быть что-то, что хотя бы стоит попробовать!

Подробнее здесь: https://stackoverflow.com/questions/797 ... ter-set-or
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»