mIRC MUST have an option to try to decode the bytes received as a utf8 string. If this fails, the bytes must be understood using the local charset.
IMHO, this option should be the default.
mIRC should have an option to send the text as an utf8 string.
IMHO, this option should NOT be the default - for now.