Я новичок здесь, поэтому я прошу прощения, если я делаю что-то неправильно.
У меня есть форма, которая вводит пользовательский ввод на другую страницу. Пользователь должен напечатать ä, ö, é и т.д. Я разместил в документе все следующие документы:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
header('Content-Type:text/html; charset=UTF-8');
<form action="whatever.php" accept-charset="UTF-8">
Я даже пробовал:
ini_set('default_charset', 'UTF-8');
Когда загружается другая страница, мне нужно проверить, что пользователь вводит с чем-то вроде:
if ( $_POST['field'] == $check ) {
...
}
Но если он вводит что-то вроде "München", PHP будет сравнивать "München" с "München" и никогда не будет запускать TRUE, даже если это необходимо. Поскольку во всем мире указано UTF-8, я предполагаю, что сервер конвертирует в нечто другое (Windows-1252, когда я читаю в другом потоке), потому что он не поддерживает или не настроен на UTF-8. Я использую Apache на локальном сервере, прежде чем загружать его в производство; Я не изменил (и не знаю, как) какие-либо настройки по умолчанию. Я работаю над Windows 7, редактируя с помощью Notepad ++, который поддерживает мои файлы в ANSI. Если я bin2hex('München')
, я получаю "4dc3bc6e6368656e".
Если я echo $_POST['field'];
, он отображает "München" правильно.
Я исследовал всюду для объяснения, все, что я нахожу, это то, что я должен включать те теги/заголовки, которые у меня уже есть.
Любая помощь очень ценится.