mIRC Home    About    Download    Register    News    Help

Print Thread
#238501 03/08/12 04:33 AM
Joined: Aug 2012
Posts: 1
N
Nolan Offline OP
Mostly harmless
OP Offline
Mostly harmless
N
Joined: Aug 2012
Posts: 1
On mIRC 7.25 (Though on all versions of mIRC 7 I have noticed this) if I have UTF-8 decoding/encoding turned on, I can see foreign text, but if someone has a foreign character in their nickname, It's like the nickname isn't on the server at all. /whois, /query, etc. does nothing.

If I turn off UTF-8 support, I can't see the foreign text in the channel, but I can /whois /query and kick the nickname with these characters.

I know an option would be on the network to ban the use of all ASCII characters in nicknames, but this isn't ideal. I should be able to see the foreign text in the channel, as well as interact with the nickname containing foreign text.

Joined: Oct 2003
Posts: 3,918
A
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
The short answer: mIRC 7.x no longer supports codepages. It's not a bug, it was intentionally removed. There's not much mIRC can do for you, but you can always use 6.35 if you are on networks with lots of ANSI codepage usage, especially in nicks.

The longer (but still short) answer: you wouldn't have to ban "ASCII" characters-- you'd actually have to ban ANSI characters (anything >= 128, but not *exactly*). The point is that the ANSI charset contains a set of pseudo-standard codepages that mIRC *used* to support before it was a fully Unicode application. It leveraged those codepages when it wasn't fully Unicode. Now that it is, there is no need to support these hideous legacy character encodings, which significantly lowers the implementation and maintenance burden of the application. It was a cost-benefit decision, and unfortunately, you ended up on the cost side of things.

Codepages are a horribly old concept and superseded by Unicode, a universal encoding that allows users to use all different sorts of "foreign text", as you put it, in the same window. With codepages, you can only view one language at a time. Basically, Unicode is far superior to codepages, and the only reasons other clients tend to use codepages are: 1) habit, 2) they are using old versions of mIRC, or 3) they don't know better. (2) and (3) are most likely, and typically they go hand in hand. mIRC has actually had unicode support builtin for AGES, but nobody typically turns it on.

I've done random samplings on networks regarding the use of ANSI codepages and IRC clients-- 80-90% of users using ANSI codepages on IRC are mIRC users, so ironically, the problem with mIRC's lack of codepage support is most notoriously the cause of mIRC's previous support for codepages. But that also means that these are just growing pains; as people upgrade their clients, you will find fewer users using ANSI codepages, and this will become less of a problem. It's an unfortunate reality now, but at some point, mIRC had to make the switch-- as I pointed out, the reason codepage usage has gotten so unwieldy is mIRC's own fault-- Khaled should have made Unicode the default many many years ago. This is also why codepages aren't going to come back. If they do, the legacy users are going to keep using their codepages unchecked, and users like you will fall victim to these legacy users and be forced to disable Unicode, which will only perpetuate the cycle of bad encoding choices on IRC. mIRC 7.x is an attempt to take a stance against these bad habits, but it needs help from users like you to help move things forward.

My best suggestions to you are, to, if you can, auto-kick users with ANSI names. In the kick message, tell them to upgrade their clients to ones that support modern encodings (ie. Unicode) so that they can participate on your channel. If I'm right, and it really is just a case of users not knowing better, you'll probably see those users returning with upgraded clients. You'll also be doing your part in getting people off of the horribly inefficient codepages-- as well as finally upgrading their clients (which also makes them more secure!)

By the way, there ARE ways to access /whois and /kick and other commands for these users, but it requires some scripting and the use of /raw -n. If you are interested, someone can show you how to write an auto-kick script for ANSI nicks.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"

Link Copied to Clipboard