Originally Posted By: Khaled
mIRC applies the SJIS/JIS conversion to the whole of an incoming and outgoing line of text at all times, so it should be converting the channel name as well. Can you describe a step by step process that reproduces this issue with a clean install of mIRC? Please include the server address (if that is important) and an example channel name.
I checked again and apparently the whole SJIS/JIS conversion seems not working in mIRC 6.3 for outgoing messages. I turned off and on the related options but it didn't fix the problem. Then I copied only mIRC.exe to a certain folder as an equivalent of clean installation and saw the same happened.

Why the issue about joining in a channel was noticed first was Japanese IRC clients can join in a channel with a Japanese name while mIRC can't join in the same channel. Now I've checked what mIRC is actually sending for PRIVMSG and it's ShiftJIS. Why it's not noticed was because Japanese IRC clients can interpret both JIS and SJIS.

The Japanese ShiftJIS string for "#test" (or "#te-su-to" in the Japanese language) in binary is "0x23 0x83 0x65 0x83 0x58 0x83 0x67". If you are handling it in wide characters for a Unicode application, it should be in UTF-16 instead. This has to be converted to "0x23 0x1b 0x24 0x42 0x25 0x46 0x25 0x48 0x1b 0x28 0x42" in JIS (codepage 50220) before sending it to a server.

I think you can check what mIRC is actually sending to a server by looking at parameters for socket functions in the debugger. Anyway it had been working in old versions, I guess you can compare the behavior of v6.15 and v6.3 to reproduce it.

Last edited by K_L_; 16/10/07 10:30 PM.