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

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