ロシアで使われるキリル文字が文字化けした時に使えるフローチャート

ロシアで使われるキリル文字はアルファベットの一種ですが、英語で使われるラテン文字とは形が異なるため、ウェブ上では2バイト文字で使われることが多く、そのため文字コードの違いで文字化けが生じてしまうことがよくあります。以下のフローチャートを見れば、キリル文字がどんな感じに文字化けしてしまっているのかを判断することができます。
https://vault.pmpc.ru/vf/16011417/6a7b205721142511253e4d581.png

「кракозябры(ワニ)はどのように見えますか?」という質問からスタートし、どのような文字に変換されるかを確認します。ほとんどの文章が「╬╤╪」のような記号(赤枠)で表示された場合はKOI8-RをCP 866に修正すればOK。

文字と記号が混ざって出現する場合、記号に「п」と「я」の文字が含まれればUTF-8からKOI8-Rに、記号に混ざって「▓」や大文字が優先的に表示される時はUTF-8からCP 866に、黒い四角が表示されるならCP 866をKOI8-Rに修正すれば文字化けが解消されるはず。

記号がまったくないかほとんどない場合、各文字に繰り返し表示される文字があるかどうかを確認します。何度も表示される文字が「P」あるいは「C」である場合はUTF-8からWindows-1251に、「D」である場合はUTF-8からWindows-1252に、「◆」である場合はUTF-16からCP 866に変更します。

文字化けに記号が含まれない場合、その文字がキリル文字かどうかを確認します。ほぼすべてキリル文字であり、小文字がすべて大文字で表示されている場合はWindows-1251からKOI8-Rに、あるいはKOI8-RからWindows-1251に変更すればOK。また、大文字と小文字が交互に表示されて「?」が混ざる場合はUTF-8からISO 8859-5に変更します。

キリル文字が他の文字と混合して表示される場合、表示される記号によってWindows 1251からISO8859-5、あるいはCP 866に修正します。

混ざって表示される文字が記号ではなくキリル文字以外の文字である場合、ウムラウトの表記文字があるかどうかを確認します。ウムラウトが含まれない場合はCP866からISO8859-5に変更。ウムラウトが含まれる場合、文字以外の記号が含まれればCP 866からWindows-1251。表示される文字が大文字ならKOIR-8からWindows-1252に、小文字ならWindows 1251からWindows-1252に、混ざる場合はISO8859-5からWindows-1252に変更すれば文字化けが解消されるとのことです。

・関連記事
「その記号っぽい文字は一体何語なのか?」を見分けるフローチャート - GIGAZINE
海外の技術者が日本語の「文字化け」を本気で解説、日本人顔負けの日本通っぷりが披露される - GIGAZINE
日本語翻訳の「漢字表記の間違い」を海外の開発者にも端的に説明してくれる「Your Code Displays Japanese Wrong」 - GIGAZINE
絵文字の偉大な功績の1つは「文字コードを統一したこと」 - GIGAZINE
無料で国際音声記号の実際の発音を聞けるウェブサイト「IPA Chart」 - GIGAZINE
・関連コンテンツ