А прри загрузке страницы откуда взялись данные в инпуте? В целом же нет возможности обойти яваскрипт и вместо кнопки придется использовать запрос ajax, который будет побуквенно передавать ваши данные из инпут.
Это я не убрал преобразование по совету данному выше. Вообще эта функция проверки работала на win-1251 уже лет 5. Начал переделывать на utf-8 и приехали.
Вывод в браузер проверяемой строки дает кракозябры, хотя остальной текст в utf-8. Где-то в POST портится кодировка. Я уже принудительно поставил кодировку в форме accept-charset=utf-8, заголовки продублировал в utf-8 - все равно бьются данные.