As you might have noticed Khaled added support for display of UTF-8 text as unicode to mIRC 6.17. This works in status, channel, query, and other windows, and in nickname listboxes, window titlebars, switchbar, and tooltips. It does not (yet) work for dialogs such as Options, Chat, Send, etc. since this would require making mIRC 100% unicode. The current changes already required recoding of significant parts of mIRC's display, text-wrapping, and mark/copy routines.
The UTF-8 support is new for us (and mIRC) and therefore still somewhat "experimental"... Your feedback on it would be appreciated!
The display of UTF-8 can be enabled by default for all windows in the Options/IRC/Messages dialog, or individually for any window you like via the Fonts dialog. Use the /font command to open the fonts dialog. Make sure you select a font that contains the characters or script (hebrew, arabic, greek, cyrillic,...) you want to see!
mIRC does not convert incoming UTF-8 into the local codepage. Server text is stored internally unchanged. This enables mIRC (scripts, etc.) to work fully with UTF-8 IRC servers that allow UTF-8 in channel and nick names. See <a href="irc://irc.unilang.org/" target="_blank">irc.unilang.org</a> for a fully enabled UTF-8 server.
The Fonts dialog also has an "Encode" option that encodes outgoing text in UTF-8 based on the script/codepage selected for that window. The Encode feature is selective, ie. it only encodes the parts of an outgoing message that are not already in UTF-8 format. If it sees a server (such as irc.unilang.org) which has CHARSET=utf-8 it will Encode the whole line, from start to end. If it sees a non-utf-8 server, it encodes the text after the : colon in the following outgoing messages: PRIVMSG, NOTICE, PART, TOPIC. You can also type unicode text in the editbox. To limit effects on non-UTF8 users, the unicode editbox only works when the UTF-8 Encode option is enabled for a window via the font dialog.
Of course also some UTF-8 related idfentifiers like $utfencode(), $utfdecode() and $isutf() have been added for scripters to play with.
Have lots of fun playing with this new feature!