As I understand it, those are likely encoded in something non-UTF-8, like WIN-1251 or something. And that one way or another, the encoding needs to be translated before it can be placed into the database. I'm not clear how this is supposed to happen though. Automatically by the browser? Done in the app? Some other way? And if in the app, how is one supposed to know what the incoming encoding is?
Haven't run into this problem personally, probably accidentally lucky, but ISTM that you need to tell the browser what character set you are working in. It is in the best position to mediate between the user and the server.
Ideally, on the server, you can examine HTTP headers to learn about the incoming data charset/encoding (I may not be using these terms precisely but you should get the idea).
Googling "html input field encoding" seems to provide a decent start.
Note that technically the data encoding issues can occur without HTML, its really an HTTP layer thing, but the medium of use you care about is HTTP/Browsers.
David J.