Содержимое полей формы веб-браузера в нативном Unicode;нет ничего, что вы могли бы поместить в форму, которая не была бы Unicode.
Есть некоторые проверки, которые вы могли бы сделать, чтобы убедиться, что у вас нет управляющих символов, явных не символов, символов, обозначаемых Unicode/ W3 как «непригодный для использования в разметке» или как недопустимое использование суррогатов, но это проверки, которые вам придется выполнять на стороне сервера.В любом случае вы должны выполнить проверку достоверности на стороне сервера;нет смысла проверять эти проблемы на стороне клиента, так как обычно это не те вещи, которые обычный пользователь мог бы напечатать случайно.
Что касается проверки на стороне сервера, что поток байтов переданпоскольку форма преобразуется в строку Unicode надлежащим образом, это будет соответствовать вашей структуре.например, Django делает это с DEFAULT_CHARSET (обычно UTF-8).