Сообщение от voraa
			 
		
	 | 
	| 
		Не думаю. Просто нет хорошего, устраивающего всех решения
	 | 
	
Но есть готовый механизм, продуманный в своё время умными людьми: ставишь для form атрибут accept-charset и браузер спокойно кодирует текст в input'ах из текущей кодировки в указанную, перед тем как послать форму на сервер. (Символы не влезающие в кодировку он кодирует как html entity.)
Это конечно типа legacy, но пока не deprecated.)
Жаль только никакого хитрого метода заюзать это в коде я лично не придумал.