View Single Post
Old 03-10-2011, 06:06 PM   #4
trankov
Junior Member
 
Join Date: Mar 2011
Posts: 1
Default Maybe I can help you to resolve this long issue

So guys the problem looks like you using one of the 1-bit encodings, but Mac OS X by default using UTF-8, the 2-bit encoding.

That's why English letters displays correctly but non-english shows jabberish.

European (inc. Russian) servers uses UTF-8 codepage. If else, Armory will show jabberish in nicknames but it doesn't. Armory webpage contains HTTP headline "application/xhtml+xml;charset=UTF-8" so, WoW Database uses UTF-8 too.

Apple Interface Builder have to use UTF-8 by default because it's OS system encoding. So the problem is somewhere in compiled modules (not in NIB-file).

The Function, that getting the list of user names, takes them from server in UTF-8, but process them in 1-bit codepage. So, this Function sends the corrupted strings into the userlist display control and it shows them as it got them.

The solution is in the methods that you using for processing strings. I cannot figure out of your programming language and it's methods, but I suggest two possible reasons of the problem.

First, you can use a low-level system strings functions which use byte-to-byte method. And, as if UTF-8 uses 2 bytes for 1 symbol and you may interpret each byte as a symbol, Mac OS X shows 1+zero=OMG.

Second, maybe your programming language uses different methods for Unicode strings and ASCII strings (f.e., Python before version 3). And, when ASCII strings function applying for Unicode string (sorry if I write obvious things, UTF-8 is sort of Unicode), in the exit this problem occurs.

Of course, the reason might be another than these two, but I can't believe this problem can win you.

So, there is not necessary to get the real response from Russian or some other European WoW-server. All that you need is to copy-paste any UTF-8 string from any Russian webpage (try yandex**** for example) and apply your default strings function to it. If you getting different result this is the root of the trouble.

Thank you.
trankov is offline   Reply With Quote