The problem is the javascript. It always sends data in UTF8 encoding, disregarding the encoding of the page it is running from.
Because of that 4images automatically encode everything into html entities...this was done to make most compatible with any encodings and any mysql encodings.
If you capture the data sent by javascript, then you'll see any non-latin letters converted into unicode code. for example word тест will be sent as %u0442%u0435%u0441%u0442
Also, if your site charset is different from the text a user input when using non-ajax post, then browser will still convert non-latin letters into unicode html entities (&#xxxx)...
So, if you try convert html entities into your charset, then text from other encoding that might be in the input will be garbage. That's why 4images doesn't even attempt convert html entites into a charset, which allows input any text in any encoding on pages with any charsets.
I think you'd better off (easier) fixing the home page comments code then trying mess with this nonsense...
P.S.
These encodings are such pain the crack...
let's all at last switch to a long-to-live UTF-32 that will be enough for all the languages and dialects including dead Maya language and get over with this!
[EDIT]
Found a solution, but only for PHP v4.3.0 or newer:
Updated to v1.0.4
- CHANGED: on servers with PHP v4.3.0 or newer with html_entity_decode enabled non-latin letters should be converted into proper charset.
To update - re-download
ajaxcomments_v1.0.4.zip and replace
ajaxcomments.php