Не пытайтесь обнаруживать, преобразуйте весь введенный пользователем текст в UTF-8 в вашем приложении.Вы можете сделать все возможное на своей стороне, настроив свой веб-сервер на отправку страниц UTF-8 и заголовков UTF-8, настройте свое приложение для обработки всего текста в UTF-8, настройте файловую систему (при необходимости) для обработки текстовых файлов какUTF-8, настройте базу данных, но у вас просто нет реального контроля со стороны пользователя.Вы можете предложить правильную кодировку символов в ваших HTML-формах, как показано ниже, но на самом деле она не применяется на стороне пользователя:
<form action="/index.php" method="post" accept-charset="UTF-8"></form>
Если только определение кодировки пользовательского ввода не является всей целью вашего приложенияГлупо попробовать.Предположим, что кодировка неверна, и преобразуйте ее в UTF-8 в вашем приложении.Точно так же, как вы должны предположить, что ваш пользовательский ввод является вредоносным, и очистите его, прежде чем пытаться вставить его в свою базу данных.
В большинстве языков, в которых UTF-8 правильно реализован, символы ASCII выживут при преобразовании, так чтоОб этом тоже не стоит беспокоиться.