Существует один механизм, касающийся кодирования символов, с которым я действительно не знаком, и я хотел бы получить подробную информацию о том, что происходит, и я хотел бы знать, как я могу контролировать вещи в своем веб-приложении.
Когда пользователь вставляет не-ASCII-символы (например, "ä æ é à") на мой веб-сайт, скажите в форме, которая затем будет отправлена POST, что именно происходит и как это определяется?
Например, если я перехожу на страницу HTML, используя кодировку iso-8859-1:
<HEAD>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
и я вырезал и вставил "ä æ é à" в окно, которое использует символы Unicode, я вижу правильные "ä æ é à" символов.
Мне не совсем понятно, что там произошло: конвертировал ли браузер символы в некоторую кодировку при чтении страницы в кодировке iso-latin-1, а затем снова преобразовывал эти символы, когда я вставлял их в другое окно?
Могу ли я программно «форсировать» кодировку, которая должна использоваться при размещении формы на веб-странице?
Будет ли браузер отвечать за правильную отправку / кодирование символов?
Могу ли я заставить кодировку, используемую в форме, отличаться от кодировки, используемой на веб-странице? (например, чтобы разрешить POSTing в UTF-8, даже если страница находится в iso-latin-1 ... Обратите внимание, что я не хочу этого делать, просто чтобы понять, что происходит под капотом).
Полагаю, мой вопрос может сводиться к: «Что мне делать, чтобы не столкнуться с проблемами кодирования?» , но если бы кто-то мог объяснить мне вышеизложенное, у меня была бы гораздо более ясная картина относительно в чем дело.