Russian text received from PC ICQ users garbled
I try to chat with my friends using iChat but i can't. They can read my messages but i can't read their...
For example, I receive "ïðèâåò!" but it must be "привет!" (hope you can see a difference 🙂 )
PowerBook 15" Mac OS X (10.4.6) 1.67Ghz, 2Gb RAM
-------------------------------
When text such as Russian text displays all messed up like this (ú) or this (ˆÐµÐ» о) it is because the process chain between your interface and the source material is ignoring or dynamically converting the character encoding of the original material.
Obviously if you can see the Russian text anywhere correctly (Русская клавиатура) your system is capable of displaying Russian and that makes the problem even more interesting to investigate.
It means a geometry of encoding swap farce is using your system to gum up certain language and encoding zones so-to-speak.
First you need to figure out if the character encoding you are using is the actual character encoding of the source material. You can do this by using javascript or any type of terminal extension to detect the encoding.
There is however no guarantee that your layer of observation and the layer upon which the detected encoding presents it’s self to your detection software are the same virtual layer of farce.
You may try to detect the encoding of the script using your own software.. For this example we will assume your software extension is called detect_encoding(). detect_encoding(‘Русская клавиатура’); should return the actual encoding of the string.
On my system the string ‘Русская клавиатура’ shows up as UTF-8 which means it is a deep-encoded farce string displayed in my interface with false encoding. Obviously only certain encodings (not utf-8 normally) can display the Cyrillic character set.
Next we need to find out what other front-face-farce encodings can display the Russian text properly through the current back-end farce filters that you are struggling to eliminate.
Take the same text and convert this text into a long list of encodings then save the list of encoded Russian characters to a file and list them out through the same detect_encoding function. If any of the encodings are different then you may have found the farce-swap attack!
There is no guarantee that the deep-seeded farce has not installed it’s self as a proxy inside your detection and conversion equipment however. When this is the case you may need to resort to cross-platform troubleshooting and letter-charts.
Keep trying and if all else fails, use an alphabet chart function to manually convert the characters or to confirm the conversions. If the attacker is using dynamic intermediary characters in combination with encoding swap geometry rendered in 3d to maintain a farce bubble you can easily identify this and write an antivirus program so your text will appear as it is saved.