fbpx
Wikipedia

Mojibake

Mojibake (Japanese: 文字化け; IPA: [mod͡ʑibake], "character transformation") is the garbled text that is the result of text being decoded using an unintended character encoding.[1] The result is a systematic replacement of symbols with completely unrelated ones, often from a different writing system.

The UTF-8-encoded Japanese Wikipedia article for Mojibake as displayed if interpreted as Windows-1252 encoding

This display may include the generic replacement character ("�") in places where the binary representation is considered invalid. A replacement can also involve multiple consecutive symbols, as viewed in one encoding, when the same binary code constitutes one symbol in the other encoding. This is either because of differing constant length encoding (as in Asian 16-bit encodings vs European 8-bit encodings), or the use of variable length encodings (notably UTF-8 and UTF-16).

Failed rendering of glyphs due to either missing fonts or missing glyphs in a font is a different issue that is not to be confused with mojibake. Symptoms of this failed rendering include blocks with the code point displayed in hexadecimal or using the generic replacement character. Importantly, these replacements are valid and are the result of correct error handling by the software.

Causes

To correctly reproduce the original text that was encoded, the correspondence between the encoded data and the notion of its encoding must be preserved. As mojibake is the instance of non-compliance between these, it can be achieved by manipulating the data itself, or just relabeling it.

Mojibake is often seen with text data that have been tagged with a wrong encoding; it may not even be tagged at all, but moved between computers with different default encodings. A major source of trouble are communication protocols that rely on settings on each computer rather than sending or storing metadata together with the data.

The differing default settings between computers are in part due to differing deployments of Unicode among operating system families, and partly the legacy encodings' specializations for different writing systems of human languages. Whereas Linux distributions mostly switched to UTF-8 in 2004,[2] Microsoft Windows generally uses UTF-16, and sometimes uses 8-bit code pages for text files in different languages.[dubious ]

For some writing systems, an example being Japanese, several encodings have historically been employed, causing users to see mojibake relatively often. As a Japanese example, the word mojibake "文字化け" stored as EUC-JP might be incorrectly displayed as "ハクサ�ス、ア", "ハクサ嵂ス、ア" (MS-932), or "ハクサ郾ス、ア" (Shift JIS-2004). The same text stored as UTF-8 is displayed as "譁�蟄怜喧縺�" if interpreted as Shift JIS. This is further exacerbated if other locales are involved: the same UTF-8 text appears as "文字化け" in software that assumes text to be in the Windows-1252 or ISO-8859-1 encodings, usually labelled Western, or (for example) as "鏂囧瓧鍖栥亼" if interpreted as being in a GBK (Mainland China) locale.

Mojibake example
Original text
Raw bytes of EUC-JP encoding CA B8 BB FA B2 BD A4 B1
Bytes interpreted as Shift-JIS encoding
Bytes interpreted as ISO-8859-1 encoding Ê ¸ » ú ² ½ ¤ ±
Bytes interpreted as GBK encoding

Underspecification

If the encoding is not specified, it is up to the software to decide it by other means. Depending on the type of software, the typical solution is either configuration or charset detection heuristics. Both are prone to mis-prediction in not-so-uncommon scenarios.

The encoding of text files is affected by locale setting, which depends on the user's language, brand of operating system and possibly other conditions. Therefore, the assumed encoding is systematically wrong for files that come from a computer with a different setting, or even from a differently localized software within the same system. For Unicode, one solution is to use a byte order mark, but for source code and other machine readable text, many parsers don't tolerate this. Another is storing the encoding as metadata in the file system. File systems that support extended file attributes can store this as user.charset.[3] This also requires support in software that wants to take advantage of it, but does not disturb other software.

While a few encodings are easy to detect, in particular UTF-8, there are many that are hard to distinguish (see charset detection). A web browser may not be able to distinguish a page coded in EUC-JP and another in Shift-JIS if the coding scheme is not assigned explicitly using HTTP headers sent along with the documents, or using the HTML document's meta tags that are used to substitute for missing HTTP headers if the server cannot be configured to send the proper HTTP headers; see character encodings in HTML.

Mis-specification

Mojibake also occurs when the encoding is wrongly specified. This often happens between encodings that are similar. For example, the Eudora email client for Windows was known to send emails labelled as ISO-8859-1 that were in reality Windows-1252.[4] Windows-1252 contains extra printable characters in the C1 range (the most frequently seen being curved quotation marks and extra dashes), that were not displayed properly in software complying with the ISO standard; this especially affected software running under other operating systems such as Unix.

User oversight

Of the encodings still in common use, many originated from taking ASCII and appending atop it; as a result, these encodings are partially compatible with each other. Examples of this include Windows-1252 and ISO 8859-1. People thus may mistake the expanded encoding set they are using with plain ASCII.

Overspecification

When there are layers of protocols, each trying to specify the encoding based on different information, the least certain information may be misleading to the recipient. For example, consider a web server serving a static HTML file over HTTP. The character set may be communicated to the client in any number of 3 ways:

  • in the HTTP header. This information can be based on server configuration (for instance, when serving a file off disk) or controlled by the application running on the server (for dynamic websites).
  • in the file, as an HTML meta tag (http-equiv or charset) or the encoding attribute of an XML declaration. This is the encoding that the author meant to save the particular file in.
  • in the file, as a byte order mark. This is the encoding that the author's editor actually saved it in. Unless an accidental encoding conversion has happened (by opening it in one encoding and saving it in another), this will be correct. It is, however, only available in Unicode encodings such as UTF-8 or UTF-16.

Lack of hardware or software support

Much older hardware is typically designed to support only one character set and the character set typically cannot be altered. The character table contained within the display firmware will be localized to have characters for the country the device is to be sold in, and typically the table differs from country to country. As such, these systems will potentially display mojibake when loading text generated on a system from a different country. Likewise, many early operating systems do not support multiple encoding formats and thus will end up displaying mojibake if made to display non-standard text—early versions of Microsoft Windows and Palm OS for example, are localized on a per-country basis and will only support encoding standards relevant to the country the localized version will be sold in, and will display mojibake if a file containing a text in a different encoding format from the version that the OS is designed to support is opened.

Resolutions

Applications using UTF-8 as a default encoding may achieve a greater degree of interoperability because of its widespread use and backward compatibility with US-ASCII. UTF-8 also has the ability to be directly recognised by a simple algorithm, so that well written software should be able to avoid mixing UTF-8 up with other encodings.

The difficulty of resolving an instance of mojibake varies depending on the application within which it occurs and the causes of it. Two of the most common applications in which mojibake may occur are web browsers and word processors. Modern browsers and word processors often support a wide array of character encodings. Browsers often allow a user to change their rendering engine's encoding setting on the fly, while word processors allow the user to select the appropriate encoding when opening a file. It may take some trial and error for users to find the correct encoding.

The problem gets more complicated when it occurs in an application that normally does not support a wide range of character encoding, such as in a non-Unicode computer game. In this case, the user must change the operating system's encoding settings to match that of the game. However, changing the system-wide encoding settings can also cause Mojibake in pre-existing applications. In Windows XP or later, a user also has the option to use Microsoft AppLocale, an application that allows the changing of per-application locale settings. Even so, changing the operating system encoding settings is not possible on earlier operating systems such as Windows 98; to resolve this issue on earlier operating systems, a user would have to use third party font rendering applications.

Problems in different writing systems

English

Mojibake in English texts generally occurs in punctuation, such as em dashes (—), en dashes (–), and curly quotes (“,”,‘,’), but rarely in character text, since most encodings agree with ASCII on the encoding of the English alphabet. For example, the pound sign "£" will appear as "£" if it was encoded by the sender as UTF-8 but interpreted by the recipient as CP1252 or ISO 8859-1. If iterated using CP1252, this can lead to "£", "£", "£", etc.

Some computers did, in older eras, have vendor-specific encodings which caused mismatch also for English text. Commodore brand 8-bit computers used PETSCII encoding, particularly notable for inverting the upper and lower case compared to standard ASCII. PETSCII printers worked fine on other computers of the era, but flipped the case of all letters. IBM mainframes use the EBCDIC encoding which does not match ASCII at all.

Other Western European languages

The alphabets of the North Germanic languages, Catalan, Finnish, German, French, Portuguese and Spanish are all extensions of the Latin alphabet. The additional characters are typically the ones that become corrupted, making texts only mildly unreadable with mojibake:

… and their uppercase counterparts, if applicable.

These are languages for which the ISO-8859-1 character set (also known as Latin 1 or Western) has been in use. However, ISO-8859-1 has been obsoleted by two competing standards, the backward compatible Windows-1252, and the slightly altered ISO-8859-15. Both add the Euro sign € and the French œ, but otherwise any confusion of these three character sets does not create mojibake in these languages. Furthermore, it is always safe to interpret ISO-8859-1 as Windows-1252, and fairly safe to interpret it as ISO-8859-15, in particular with respect to the Euro sign, which replaces the rarely used currency sign (¤). However, with the advent of UTF-8, mojibake has become more common in certain scenarios, e.g. exchange of text files between UNIX and Windows computers, due to UTF-8's incompatibility with Latin-1 and Windows-1252. But UTF-8 has the ability to be directly recognised by a simple algorithm, so that well written software should be able to avoid mixing UTF-8 up with other encodings, so this was most common when many had software not supporting UTF-8. Most of these languages were supported by MS-DOS default CP437 and other machine default encodings, except ASCII, so problems when buying an operating system version were less common. Windows and MS-DOS are not compatible however.

In Swedish, Norwegian, Danish and German, vowels are rarely repeated, and it is usually obvious when one character gets corrupted, e.g. the second letter in "kÃ⁠¤rlek" (kärlek, "love"). This way, even though the reader has to guess between å, ä and ö, almost all texts remain legible. Finnish text, on the other hand, does feature repeating vowels in words like hääyö ("wedding night") which can sometimes render text very hard to read (e.g. hääyö appears as "hÃ⁠¤Ã⁠¤yÃ⁠¶"). Icelandic and Faroese have ten and eight possibly confounding characters, respectively, which thus can make it more difficult to guess corrupted characters; Icelandic words like þjóðlöð ("outstanding hospitality") become almost entirely unintelligible when rendered as "þjóðlöð".

In German, Buchstabensalat ("letter salad") is a common term for this phenomenon, and in Spanish, deformación (literally deformation).

Some users transliterate their writing when using a computer, either by omitting the problematic diacritics, or by using digraph replacements (å → aa, ä/æ → ae, ö/ø → oe, ü → ue etc.). Thus, an author might write "ueber" instead of "über", which is standard practice in German when umlauts are not available. The latter practice seems to be better tolerated in the German language sphere than in the Nordic countries. For example, in Norwegian, digraphs are associated with archaic Danish, and may be used jokingly. However, digraphs are useful in communication with other parts of the world. As an example, the Norwegian football player Ole Gunnar Solskjær had his name spelled "SOLSKJAER" on his back when he played for Manchester United.

An artifact of UTF-8 misinterpreted as ISO-8859-1, "Ring meg nÃ¥" ("Ring meg nå"), was seen in an SMS scam raging in Norway in June 2014.[5]

Examples
Swedish example: Smörgås (open sandwich)
File encoding Setting in browser Result
MS-DOS 437 ISO 8859-1 Sm"rg†s
ISO 8859-1 Mac Roman SmˆrgÂs
UTF-8 ISO 8859-1 Smörgås
UTF-8 Mac Roman Smörgås
UTF-8 ibm/cp037 (EBCDIC) ë_C¶ÊÅCvË

Central and Eastern European

Users of Central and Eastern European languages can also be affected. Because most computers were not connected to any network during the mid- to late-1980s, there were different character encodings for every language with diacritical characters (see ISO/IEC 8859 and KOI-8), often also varying by operating system.

Hungarian

Hungarian is another affected language, which uses the 26 basic English characters, plus the accented forms á, é, í, ó, ú, ö, ü (all present in the Latin-1 character set), plus the two characters ő and ű, which are not in Latin-1. These two characters can be correctly encoded in Latin-2, Windows-1250 and Unicode. Before Unicode became common in e-mail clients, e-mails containing Hungarian text often had the letters ő and ű corrupted, sometimes to the point of unrecognizability. It is common to respond to an e-mail rendered unreadable (see examples below) by character mangling (referred to as "betűszemét", meaning "letter garbage") with the phrase "Árvíztűrő tükörfúrógép", a nonsense phrase (literally "Flood-resistant mirror-drilling machine") containing all accented characters used in Hungarian.

Examples
Source encoding Target encoding Result Occurrence
Hungarian example ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP
árvíztűrő tükörfúrógép
Characters in red are incorrect and do not match the top-left example.
CP 852 CP 437 RVZTδRè TÜKÖRFΘRαGÉP
árvíztrï tükörfúrógép
This was very common in DOS-era when the text was encoded by the Central European CP 852 encoding; however, the operating system, a software or printer used the default CP 437 encoding. Please note that small-case letters are mainly correct, exception with ő (ï) and ű (√). Ü/ü is correct because CP 852 was made compatible with German. Nowadays occurs mainly on printed prescriptions and cheques.
CWI-2 CP 437 ÅRVìZTÿRº TÜKÖRFùRòGÉP
árvíztûrô tükörfúrógép
The CWI-2 encoding was designed so that the text remains fairly well-readable even if the display or printer uses the default CP 437 encoding. This encoding was heavily used in the 1980s and early 1990s, but nowadays it is completely deprecated.
Windows-1250 Windows-1252 ÁRVÍZTÛRÕ TÜKÖRFÚRÓGÉP
árvíztûrõ tükörfúrógép
The default Western Windows encoding is used instead of the Central-European one. Only ő-Ő (õ-Õ) and ű-Ű (û-Û) are wrong, but the text is completely readable. This is the most common error nowadays; due to ignorance, it occurs often on webpages or even in printed media.
CP 852 Windows-1250 µRVÖZTëRŠ TšKRFéRŕ P
rvˇztűr k"rfŁr˘gp
Central European Windows encoding is used instead of DOS encoding. The use of ű is correct.
Windows-1250 CP 852 RVZTRŇ TKÍRFRËGP
ßrvÝztűr§ tŘk÷rf˙rˇgÚp
Central European DOS encoding is used instead of Windows encoding. The use of ű is correct.
Quoted-printable 7-bit ASCII =C1RV=CDZT=DBR=D5 T=DCK=D6RF=DAR=D3G=C9P
=E1rv=EDzt=FBr=F5 t=FCk=F6rf=FAr=F3g=E9p
Mainly caused by wrongly configured mail servers but may occur in SMS messages on some cell-phones as well.
UTF-8 Windows-1252 ÁRVÍZTÅ°RŐ TÃœKÖRFÚRÃ"GÉP
árvÃztűrÅ‘ tükörfúrógép
Mainly caused by wrongly configured web services or webmail clients, which were not tested for international usage (as the problem remains concealed for English texts). In this case the actual (often generated) content is in UTF-8; however, it is not configured in the HTML headers, so the rendering engine displays it with the default Western encoding.

Polish

Prior to the creation of ISO 8859-2 in 1987, users of various computing platforms used their own character encodings such as AmigaPL on Amiga, Atari Club on Atari ST and Masovia, IBM CP852, Mazovia and Windows CP1250 on IBM PCs. Polish companies selling early DOS computers created their own mutually-incompatible ways to encode Polish characters and simply reprogrammed the EPROMs of the video cards (typically CGA, EGA, or Hercules) to provide hardware code pages with the needed glyphs for Polish—arbitrarily located without reference to where other computer sellers had placed them.

The situation began to improve when, after pressure from academic and user groups, ISO 8859-2 succeeded as the "Internet standard" with limited support of the dominant vendors' software (today largely replaced by Unicode). With the numerous problems caused by the variety of encodings, even today some users tend to refer to Polish diacritical characters as krzaczki ([ˈkʂät͜ʂ.ki], lit. "little shrubs").

Russian and other Cyrillic alphabets

Mojibake may be colloquially called krakozyabry (кракозя́бры [krɐkɐˈzʲæbrɪ̈]) in Russian, which was and remains complicated by several systems for encoding Cyrillic.[6] The Soviet Union and early Russian Federation developed KOI encodings (Kod Obmena Informatsiey, Код Обмена Информацией, which translates to "Code for Information Exchange"). This began with Cyrillic-only 7-bit KOI7, based on ASCII but with Latin and some other characters replaced with Cyrillic letters. Then came 8-bit KOI8 encoding that is an ASCII extension which encodes Cyrillic letters only with high-bit set octets corresponding to 7-bit codes from KOI7. It is for this reason that KOI8 text, even Russian, remains partially readable after stripping the eighth bit, which was considered as a major advantage in the age of 8BITMIME-unaware email systems. For example, words "Школа русского языка" shkola russkogo yazyka, encoded in KOI8 and then passed through the high bit stripping process, end up rendered as "[KOLA RUSSKOGO qZYKA". Eventually KOI8 gained different flavors for Russian and Bulgarian (KOI8-R), Ukrainian (KOI8-U), Belarusian (KOI8-RU) and even Tajik (KOI8-T).

Meanwhile, in the West, Code page 866 supported Ukrainian and Belarusian as well as Russian/Bulgarian in MS-DOS. For Microsoft Windows, Code Page 1251 added support for Serbian and other Slavic variants of Cyrillic.

Most recently, the Unicode encoding includes code points for practically all the characters of all the world's languages, including all Cyrillic characters.

Before Unicode, it was necessary to match text encoding with a font using the same encoding system. Failure to do this produced unreadable gibberish whose specific appearance varied depending on the exact combination of text encoding and font encoding. For example, attempting to view non-Unicode Cyrillic text using a font that is limited to the Latin alphabet, or using the default ("Western") encoding, typically results in text that consists almost entirely of vowels with diacritical marks. (KOI8 "Библиотека" (biblioteka, library) becomes "âÉÂÌÉÏÔÅËÁ".) Using Windows codepage 1251 to view text in KOI8 or vice versa results in garbled text that consists mostly of capital letters (KOI8 and codepage 1251 share the same ASCII region, but KOI8 has uppercase letters in the region where codepage 1251 has lowercase, and vice versa). In general, Cyrillic gibberish is symptomatic of using the wrong Cyrillic font. During the early years of the Russian sector of the World Wide Web, both KOI8 and codepage 1251 were common. As of 2017, one can still encounter HTML pages in codepage 1251 and, rarely, KOI8 encodings, as well as Unicode. (An estimated 1.7% of all web pages worldwide – all languages included – are encoded in codepage 1251.[7]) Though the HTML standard includes the ability to specify the encoding for any given web page in its source,[8] this is sometimes neglected, forcing the user to switch encodings in the browser manually.

In Bulgarian, mojibake is often called majmunica (маймуница), meaning "monkey's [alphabet]". In Serbian, it is called đubre (ђубре), meaning "trash". Unlike the former USSR, South Slavs never used something like KOI8, and Code Page 1251 was the dominant Cyrillic encoding there before Unicode. Therefore, these languages experienced fewer encoding incompatibility troubles than Russian. In the 1980s, Bulgarian computers used their own MIK encoding, which is superficially similar to (although incompatible with) CP866.

Example
Russian example: Кракозябры (krakozyabry, garbage characters)
File encoding Setting in browser Result
MS-DOS 855 ISO 8859-1 Æá ÆÖóÞ¢áñ
KOI8-R ISO 8859-1 ëÒÁËÏÚÑÂÒÙ
UTF-8 KOI8-R п я─п╟п╨п╬п╥я▐п╠я─я▀

Yugoslav languages

Croatian, Bosnian, Serbian (the seceding varieties of Serbo-Croatian language) and Slovenian add to the basic Latin alphabet the letters š, đ, č, ć, ž, and their capital counterparts Š, Đ, Č, Ć, Ž (only č/Č, š/Š and ž/Ž in Slovenian; officially, although others are used when needed, mostly in foreign names, as well). All of these letters are defined in Latin-2 and Windows-1250, while only some (š, Š, ž, Ž, Đ) exist in the usual OS-default Windows-1252, and are there because of some other languages.

Although Mojibake can occur with any of these characters, the letters that are not included in Windows-1252 are much more prone to errors. Thus, even nowadays, "šđčćž ŠĐČĆŽ" is often displayed as "šðèæž ŠÐÈÆŽ", although ð, è, æ, È, Æ are never used in Slavic languages.

When confined to basic ASCII (most user names, for example), common replacements are: š→s, đ→dj, č→c, ć→c, ž→z (capital forms analogously, with Đ→Dj or Đ→DJ depending on word case). All of these replacements introduce ambiguities, so reconstructing the original from such a form is usually done manually if required.

The Windows-1252 encoding is important because the English versions of the Windows operating system are most widespread, not localized ones.[citation needed] The reasons for this include a relatively small and fragmented market, increasing the price of high quality localization, a high degree of software piracy (in turn caused by high price of software compared to income), which discourages localization efforts, and people preferring English versions of Windows and other software.[citation needed]

The drive to differentiate Croatian from Serbian, Bosnian from Croatian and Serbian, and now even Montenegrin from the other three creates many problems. There are many different localizations, using different standards and of different quality. There are no common translations for the vast amount of computer terminology originating in English. In the end, people use adopted English words ("kompjuter" for "computer", "kompajlirati" for "compile," etc.), and if they are unaccustomed to the translated terms may not understand what some option in a menu is supposed to do based on the translated phrase. Therefore, people who understand English, as well as those who are accustomed to English terminology (who are most, because English terminology is also mostly taught in schools because of these problems) regularly choose the original English versions of non-specialist software.

When Cyrillic script is used (for Macedonian and partially Serbian), the problem is similar to other Cyrillic-based scripts.

Newer versions of English Windows allow the code page to be changed (older versions require special English versions with this support), but this setting can be and often was incorrectly set. For example, Windows 98 and Windows Me can be set to most non-right-to-left single-byte code pages including 1250, but only at install time.

Caucasian languages

The writing systems of certain languages of the Caucasus region, including the scripts of Georgian and Armenian, may produce mojibake. This problem is particularly acute in the case of ArmSCII or ARMSCII, a set of obsolete character encodings for the Armenian alphabet which have been superseded by Unicode standards. ArmSCII is not widely used because of a lack of support in the computer industry. For example, Microsoft Windows does not support it.

Asian encodings

Another type of mojibake occurs when text is erroneously parsed in a multi-byte encoding, such as one of the encodings for East Asian languages. With this kind of mojibake more than one (typically two) characters are corrupted at once, e.g. "k舐lek" (kärlek) in Swedish, where "är" is parsed as "舐". Compared to the above mojibake, this is harder to read, since letters unrelated to the problematic å, ä or ö are missing, and is especially problematic for short words starting with å, ä or ö such as "än" (which becomes "舅"). Since two letters are combined, the mojibake also seems more random (over 50 variants compared to the normal three, not counting the rarer capitals). In some rare cases, an entire text string which happens to include a pattern of particular word lengths, such as the sentence "Bush hid the facts", may be misinterpreted.

Vietnamese

In Vietnamese, the phenomenon is called chữ ma or loạn mã. It can occur when a computer tries to encode diacritic character defined in Windows-1258, TCVN3 or VNI to UTF-8. Chữ ma was common in Vietnam when using Windows XP computers or cheap mobile phones.

Example: Trăm năm trong cõi người ta
(Truyện Kiều, Nguyễn Du)
Original encoding Target encoding Result
Windows-1258 UTF-8 Trăm năm trong cõi người ta
TCVN3 UTF-8 Tr¨m n¨m trong câi ngêi ta
VNI (Windows) UTF-8 Trm nm trong ci ngöôøi ta

Japanese

In Japanese, the same phenomenon is, as mentioned, called mojibake (文字化け). It is a particular problem in Japan due to the numerous different encodings that exist for Japanese text. Alongside Unicode encodings like UTF-8 and UTF-16, there are other standard encodings, such as Shift-JIS (Windows machines) and EUC-JP (UNIX systems). Mojibake, as well as being encountered by Japanese users, is also often encountered by non-Japanese when attempting to run software written for the Japanese market.

Chinese

In Chinese, the same phenomenon is called Luàn mǎ (Pinyin, Simplified Chinese 乱码, Traditional Chinese 亂碼, meaning 'chaotic code'), and can occur when computerised text is encoded in one Chinese character encoding but is displayed using the wrong encoding. When this occurs, it is often possible to fix the issue by switching the character encoding without loss of data. The situation is complicated because of the existence of several Chinese character encoding systems in use, the most common ones being: Unicode, Big5, and Guobiao (with several backward compatible versions), and the possibility of Chinese characters being encoded using Japanese encoding.

It is easy to identify the original encoding when luanma occurs in Guobiao encodings:

Original encoding Viewed as Result Original text Note
Big5 GB ?T瓣в变巨肚 三國志曹操傳 Garbled Chinese characters with no hint of original meaning. The red character is not a valid codepoint in GB 2312.
Shift-JIS GB 暥帤壔偗僥僗僩 文字化けテスト Kana is displayed as characters with the radical 亻, while kanji are other characters. Most of them are extremely uncommon and not in practical use in modern Chinese.
EUC-KR GB 叼力捞钙胶 抛农聪墨 디제이맥스 테크니카 Random common Simplified Chinese characters which in most cases make no sense. Easily identifiable because of spaces between every several characters.

An additional problem is caused when encodings are missing characters, which is common with rare or antiquated characters that are still used in personal or place names. Examples of this are Taiwanese politicians Wang Chien-shien (Chinese: 王建煊; pinyin: Wáng Jiànxuān)'s "煊", Yu Shyi-kun (simplified Chinese: 游锡堃; traditional Chinese: 游錫堃; pinyin: Yóu Xíkūn)'s "堃" and singer David Tao (Chinese: 陶喆; pinyin: Táo Zhé)'s "喆" missing in Big5, ex-PRC Premier Zhu Rongji (Chinese: 朱镕基; pinyin: Zhū Róngjī)'s "镕" missing in GB 2312, copyright symbol "©" missing in GBK.[9]

Newspapers have dealt with this problem in various ways, including using software to combine two existing, similar characters; using a picture of the personality; or simply substituting a homophone for the rare character in the hope that the reader would be able to make the correct inference.

Indic text

A similar effect can occur in Brahmic or Indic scripts of South Asia, used in such Indo-Aryan or Indic languages as Hindustani (Hindi-Urdu), Bengali, Punjabi, Marathi, and others, even if the character set employed is properly recognized by the application. This is because, in many Indic scripts, the rules by which individual letter symbols combine to create symbols for syllables may not be properly understood by a computer missing the appropriate software, even if the glyphs for the individual letter forms are available.

One example of this is the old Wikipedia logo, which attempts to show the character analogous to "wi" (the first syllable of "Wikipedia") on each of many puzzle pieces. The puzzle piece meant to bear the Devanagari character for "wi" instead used to display the "wa" character followed by an unpaired "i" modifier vowel, easily recognizable as mojibake generated by a computer not configured to display Indic text.[10] The logo as redesigned as of May 2010 has fixed these errors.

The idea of Plain Text requires the operating system to provide a font to display Unicode codes. This font is different from OS to OS for Singhala and it makes orthographically incorrect glyphs for some letters (syllables) across all operating systems. For instance, the 'reph', the short form for 'r' is a diacritic that normally goes on top of a plain letter. However, it is wrong to go on top of some letters like 'ya' or 'la' in specific contexts. For Sanskritic words or names inherited by modern languages, such as कार्य, IAST: kārya, or आर्या, IAST: āryā, it is apt to put it on top of these letters. By contrast, for similar sounds in modern languages which result from their specific rules, it is not put on top, such as the word करणाऱ्या, IAST: karaṇāryā, a stem form of the common word करणारा/री, IAST: karaṇārā/rī, in the Marathi language.[11] But it happens in most operating systems. This appears to be a fault of internal programming of the fonts. In Mac OS and iOS, the muurdhaja l (dark l) and 'u' combination and its long form both yield wrong shapes.[citation needed]

Some Indic and Indic-derived scripts, most notably Lao, were not officially supported by Windows XP until the release of Vista.[12] However, various sites have made free-to-download fonts.

Burmese

Due to Western sanctions[13] and the late arrival of Burmese language support in computers,[14][15] much of the early Burmese localization was homegrown without international cooperation. The prevailing means of Burmese support is via the Zawgyi font, a font that was created as a Unicode font but was in fact only partially Unicode compliant.[15] In the Zawgyi font, some codepoints for Burmese script were implemented as specified in Unicode, but others were not.[16] The Unicode Consortium refers to this as ad hoc font encodings.[17] With the advent of mobile phones, mobile vendors such as Samsung and Huawei simply replaced the Unicode compliant system fonts with Zawgyi versions.[14]

Due to these ad hoc encodings, communications between users of Zawgyi and Unicode would render as garbled text. To get around this issue, content producers would make posts in both Zawgyi and Unicode.[18] Myanmar government has designated 1 October 2019 as "U-Day" to officially switch to Unicode.[13] The full transition is estimated to take two years.[19]

African languages

In certain writing systems of Africa, unencoded text is unreadable. Texts that may produce mojibake include those from the Horn of Africa such as the Ge'ez script in Ethiopia and Eritrea, used for Amharic, Tigre, and other languages, and the Somali language, which employs the Osmanya alphabet. In Southern Africa, the Mwangwego alphabet is used to write languages of Malawi and the Mandombe alphabet was created for the Democratic Republic of the Congo, but these are not generally supported. Various other writing systems native to West Africa present similar problems, such as the N'Ko alphabet, used for Manding languages in Guinea, and the Vai syllabary, used in Liberia.

Arabic

Another affected language is Arabic (see below). The text becomes unreadable when the encodings do not match.

Examples

File encoding Setting in browser Result
Arabic example:   (Universal Declaration of Human Rights)
Browser rendering: الإعلان العالمى لحقوق الإنسان
UTF-8 Windows-1252 الإعلان العالمى لحقوق الإنسان
KOI8-R О╩©ь╖ы└ь╔ь╧ы└ь╖ы├ ь╖ы└ь╧ь╖ы└ы┘ы┴ ы└ь╜ы┌ы┬ы┌ ь╖ы└ь╔ы├ьЁь╖ы├
ISO 8859-5 яЛПиЇй�иЅиЙй�иЇй� иЇй�иЙиЇй�й�й� й�ий�й�й� иЇй�иЅй�иГиЇй�
CP 866 я╗┐╪з┘Д╪е╪╣┘Д╪з┘Ж ╪з┘Д╪╣╪з┘Д┘Е┘Й ┘Д╪н┘В┘И┘В ╪з┘Д╪е┘Ж╪│╪з┘Ж
ISO 8859-6 ُ؛؟ظ�ع�ظ�ظ�ع�ظ�ع� ظ�ع�ظ�ظ�ع�ع�ع� ع�ظع�ع�ع� ظ�ع�ظ�ع�ظ�ظ�ع�
ISO 8859-2 اŮ�ŘĽŘšŮ�اŮ� اŮ�ؚاŮ�Ů�Ů� Ů�ŘŮ�Ů�Ů� اŮ�ŘĽŮ�ساŮ�
Windows-1256 Windows-1252 ÇáÅÚáÇä ÇáÚÇáãì áÍÞæÞ ÇáÅäÓÇä

The examples in this article do not have UTF-8 as browser setting, because UTF-8 is easily recognisable, so if a browser supports UTF-8 it should recognise it automatically, and not try to interpret something else as UTF-8.

See also

  • Code point
  • Replacement character
  • Substitute character
  • Newline – The conventions for representing the line break differ between Windows and Unix systems. Though most software supports both conventions (which is trivial), software that must preserve or display the difference (e.g. version control systems and data comparison tools) can get substantially more difficult to use if not adhering to one convention.
  • Byte order mark – The most in-band way to store the encoding together with the data – prepend it. This is by intention invisible to humans using compliant software, but will by design be perceived as "garbage characters" to incompliant software (including many interpreters).
  • HTML entities – An encoding of special characters in HTML, mostly optional, but required for certain characters to escape interpretation as markup. While failure to apply this transformation is a vulnerability (see cross-site scripting), applying it too many times results in garbling of these characters. For example, the quotation mark " becomes ", ", " and so on.
  • Bush hid the facts

References

  1. ^ King, Ritchie (2012). "Will unicode soon be the universal code? [The Data]". IEEE Spectrum. 49 (7): 60. doi:10.1109/MSPEC.2012.6221090.
  2. ^ WINDISCHMANN, Stephan (31 March 2004). "curl -v linux.ars (Internationalization)". Ars Technica. Retrieved 5 October 2018.
  3. ^ "Guidelines for extended attributes". 2013-05-17. Retrieved 2015-02-15.
  4. ^ "Unicode mailinglist on the Eudora email client". 2001-05-13. Retrieved 2014-11-01.
  5. ^ "sms-scam". June 18, 2014. Retrieved June 19, 2014.
  6. ^ p. 141, Control + Alt + Delete: A Dictionary of Cyberslang, Jonathon Keats, Globe Pequot, 2007, ISBN 1-59921-039-8.
  7. ^ "Usage of Windows-1251 for websites".
  8. ^ "Declaring character encodings in HTML".
  9. ^ . Microsoft. Archived from the original on 2002-10-01. Conversion map between Code page 936 and Unicode. Need manually selecting GB 18030 or GBK in browser to view it correctly.
  10. ^ Cohen, Noam (June 25, 2007). "Some Errors Defy Fixes: A Typo in Wikipedia's Logo Fractures the Sanskrit". The New York Times. Retrieved July 17, 2009.
  11. ^ "Marathi Typing | English to Marathi | Online Marathi Typing". marathi.indiatyping.com. Retrieved 2022-08-02.
  12. ^ "Content Moved (Windows)". Msdn.microsoft.com. Retrieved 2014-02-05.
  13. ^ a b "Unicode in, Zawgyi out: Modernity finally catches up in Myanmar's digital world". The Japan Times. 27 September 2019. Retrieved 24 December 2019. Oct. 1 is “U-Day", when Myanmar officially will adopt the new system.... Microsoft and Apple helped other countries standardize years ago, but Western sanctions meant Myanmar lost out.
  14. ^ a b Hotchkiss, Griffin (March 23, 2016). "Battle of the fonts". Frontier Myanmar. Retrieved 24 December 2019. With the release of Windows XP service pack 2, complex scripts were supported, which made it possible for Windows to render a Unicode-compliant Burmese font such as Myanmar1 (released in 2005). ... Myazedi, BIT, and later Zawgyi, circumscribed the rendering problem by adding extra code points that were reserved for Myanmar’s ethnic languages. Not only does the re-mapping prevent future ethnic language support, it also results in a typing system that can be confusing and inefficient, even for experienced users. ... Huawei and Samsung, the two most popular smartphone brands in Myanmar, are motivated only by capturing the largest market share, which means they support Zawgyi out of the box.
  15. ^ a b Sin, Thant (7 September 2019). "Unified under one font system as Myanmar prepares to migrate from Zawgyi to Unicode". Rising Voices. Retrieved 24 December 2019. Standard Myanmar Unicode fonts were never mainstreamed unlike the private and partially Unicode compliant Zawgyi font. ... Unicode will improve natural language processing
  16. ^ "Why Unicode is Needed". Google Code: Zawgyi Project. Retrieved 31 October 2013.
  17. ^ "Myanmar Scripts and Languages". Frequently Asked Questions. Unicode Consortium. Retrieved 24 December 2019. "UTF-8" technically does not apply to ad hoc font encodings such as Zawgyi.
  18. ^ LaGrow, Nick; Pruzan, Miri (September 26, 2019). "Integrating autoconversion: Facebook's path from Zawgyi to Unicode - Facebook Engineering". Facebook Engineering. Facebook. Retrieved 25 December 2019. It makes communication on digital platforms difficult, as content written in Unicode appears garbled to Zawgyi users and vice versa. ... In order to better reach their audiences, content producers in Myanmar often post in both Zawgyi and Unicode in a single post, not to mention English or other languages.
  19. ^ Saw Yi Nanda (21 November 2019). "Myanmar switch to Unicode to take two years: app developer". The Myanmar Times. Retrieved 24 December 2019.

External links

  •   The dictionary definition of mojibake at Wiktionary
  •   Media related to Mojibake at Wikimedia Commons

mojibake, japanese, 文字化け, ʑibake, character, transformation, garbled, text, that, result, text, being, decoded, using, unintended, character, encoding, result, systematic, replacement, symbols, with, completely, unrelated, ones, often, from, different, writing. Mojibake Japanese 文字化け IPA mod ʑibake character transformation is the garbled text that is the result of text being decoded using an unintended character encoding 1 The result is a systematic replacement of symbols with completely unrelated ones often from a different writing system The UTF 8 encoded Japanese Wikipedia article for Mojibake as displayed if interpreted as Windows 1252 encoding This article contains special characters Without proper rendering support you may see question marks boxes or other symbols This display may include the generic replacement character in places where the binary representation is considered invalid A replacement can also involve multiple consecutive symbols as viewed in one encoding when the same binary code constitutes one symbol in the other encoding This is either because of differing constant length encoding as in Asian 16 bit encodings vs European 8 bit encodings or the use of variable length encodings notably UTF 8 and UTF 16 Failed rendering of glyphs due to either missing fonts or missing glyphs in a font is a different issue that is not to be confused with mojibake Symptoms of this failed rendering include blocks with the code point displayed in hexadecimal or using the generic replacement character Importantly these replacements are valid and are the result of correct error handling by the software Contents 1 Causes 1 1 Underspecification 1 2 Mis specification 1 2 1 User oversight 1 3 Overspecification 1 4 Lack of hardware or software support 2 Resolutions 3 Problems in different writing systems 3 1 English 3 2 Other Western European languages 3 3 Central and Eastern European 3 3 1 Hungarian 3 3 1 1 Examples 3 3 2 Polish 3 3 3 Russian and other Cyrillic alphabets 3 3 4 Yugoslav languages 3 4 Caucasian languages 3 5 Asian encodings 3 5 1 Vietnamese 3 5 2 Japanese 3 5 3 Chinese 3 5 4 Indic text 3 5 5 Burmese 3 6 African languages 3 7 Arabic 3 7 1 Examples 4 See also 5 References 6 External linksCauses EditTo correctly reproduce the original text that was encoded the correspondence between the encoded data and the notion of its encoding must be preserved As mojibake is the instance of non compliance between these it can be achieved by manipulating the data itself or just relabeling it Mojibake is often seen with text data that have been tagged with a wrong encoding it may not even be tagged at all but moved between computers with different default encodings A major source of trouble are communication protocols that rely on settings on each computer rather than sending or storing metadata together with the data The differing default settings between computers are in part due to differing deployments of Unicode among operating system families and partly the legacy encodings specializations for different writing systems of human languages Whereas Linux distributions mostly switched to UTF 8 in 2004 2 Microsoft Windows generally uses UTF 16 and sometimes uses 8 bit code pages for text files in different languages dubious discuss For some writing systems an example being Japanese several encodings have historically been employed causing users to see mojibake relatively often As a Japanese example the word mojibake 文字化け stored as EUC JP might be incorrectly displayed as ハクサ ス ア ハクサ嵂ス ア MS 932 or ハクサ郾ス ア Shift JIS 2004 The same text stored as UTF 8 is displayed as 譁 蟄怜喧縺 if interpreted as Shift JIS This is further exacerbated if other locales are involved the same UTF 8 text appears as ae a aŒ a in software that assumes text to be in the Windows 1252 or ISO 8859 1 encodings usually labelled Western or for example as 鏂囧瓧鍖栥亼 if interpreted as being in a GBK Mainland China locale Mojibake example Original text 文 字 化 けRaw bytes of EUC JP encoding CA B8 BB FA B2 BD A4 B1Bytes interpreted as Shift JIS encoding ハ ク サ 郾 ス アBytes interpreted as ISO 8859 1 encoding E u Bytes interpreted as GBK encoding 矢 机 步 けUnderspecification Edit If the encoding is not specified it is up to the software to decide it by other means Depending on the type of software the typical solution is either configuration or charset detection heuristics Both are prone to mis prediction in not so uncommon scenarios The encoding of text files is affected by locale setting which depends on the user s language brand of operating system and possibly other conditions Therefore the assumed encoding is systematically wrong for files that come from a computer with a different setting or even from a differently localized software within the same system For Unicode one solution is to use a byte order mark but for source code and other machine readable text many parsers don t tolerate this Another is storing the encoding as metadata in the file system File systems that support extended file attributes can store this as user charset 3 This also requires support in software that wants to take advantage of it but does not disturb other software While a few encodings are easy to detect in particular UTF 8 there are many that are hard to distinguish see charset detection A web browser may not be able to distinguish a page coded in EUC JP and another in Shift JIS if the coding scheme is not assigned explicitly using HTTP headers sent along with the documents or using the HTML document s meta tags that are used to substitute for missing HTTP headers if the server cannot be configured to send the proper HTTP headers see character encodings in HTML Mis specification Edit Mojibake also occurs when the encoding is wrongly specified This often happens between encodings that are similar For example the Eudora email client for Windows was known to send emails labelled as ISO 8859 1 that were in reality Windows 1252 4 Windows 1252 contains extra printable characters in the C1 range the most frequently seen being curved quotation marks and extra dashes that were not displayed properly in software complying with the ISO standard this especially affected software running under other operating systems such as Unix User oversight Edit Of the encodings still in common use many originated from taking ASCII and appending atop it as a result these encodings are partially compatible with each other Examples of this include Windows 1252 and ISO 8859 1 People thus may mistake the expanded encoding set they are using with plain ASCII Overspecification Edit When there are layers of protocols each trying to specify the encoding based on different information the least certain information may be misleading to the recipient For example consider a web server serving a static HTML file over HTTP The character set may be communicated to the client in any number of 3 ways in the HTTP header This information can be based on server configuration for instance when serving a file off disk or controlled by the application running on the server for dynamic websites in the file as an HTML meta tag http equiv or charset or the encoding attribute of an XML declaration This is the encoding that the author meant to save the particular file in in the file as a byte order mark This is the encoding that the author s editor actually saved it in Unless an accidental encoding conversion has happened by opening it in one encoding and saving it in another this will be correct It is however only available in Unicode encodings such as UTF 8 or UTF 16 Lack of hardware or software support Edit Much older hardware is typically designed to support only one character set and the character set typically cannot be altered The character table contained within the display firmware will be localized to have characters for the country the device is to be sold in and typically the table differs from country to country As such these systems will potentially display mojibake when loading text generated on a system from a different country Likewise many early operating systems do not support multiple encoding formats and thus will end up displaying mojibake if made to display non standard text early versions of Microsoft Windows and Palm OS for example are localized on a per country basis and will only support encoding standards relevant to the country the localized version will be sold in and will display mojibake if a file containing a text in a different encoding format from the version that the OS is designed to support is opened Resolutions EditApplications using UTF 8 as a default encoding may achieve a greater degree of interoperability because of its widespread use and backward compatibility with US ASCII UTF 8 also has the ability to be directly recognised by a simple algorithm so that well written software should be able to avoid mixing UTF 8 up with other encodings The difficulty of resolving an instance of mojibake varies depending on the application within which it occurs and the causes of it Two of the most common applications in which mojibake may occur are web browsers and word processors Modern browsers and word processors often support a wide array of character encodings Browsers often allow a user to change their rendering engine s encoding setting on the fly while word processors allow the user to select the appropriate encoding when opening a file It may take some trial and error for users to find the correct encoding The problem gets more complicated when it occurs in an application that normally does not support a wide range of character encoding such as in a non Unicode computer game In this case the user must change the operating system s encoding settings to match that of the game However changing the system wide encoding settings can also cause Mojibake in pre existing applications In Windows XP or later a user also has the option to use Microsoft AppLocale an application that allows the changing of per application locale settings Even so changing the operating system encoding settings is not possible on earlier operating systems such as Windows 98 to resolve this issue on earlier operating systems a user would have to use third party font rendering applications Problems in different writing systems EditEnglish Edit Mojibake in English texts generally occurs in punctuation such as em dashes en dashes and curly quotes but rarely in character text since most encodings agree with ASCII on the encoding of the English alphabet For example the pound sign will appear as A if it was encoded by the sender as UTF 8 but interpreted by the recipient as CP1252 or ISO 8859 1 If iterated using CP1252 this can lead to A A Aƒa sA A AƒAE A a A Aƒa sA A etc Some computers did in older eras have vendor specific encodings which caused mismatch also for English text Commodore brand 8 bit computers used PETSCII encoding particularly notable for inverting the upper and lower case compared to standard ASCII PETSCII printers worked fine on other computers of the era but flipped the case of all letters IBM mainframes use the EBCDIC encoding which does not match ASCII at all Other Western European languages Edit The alphabets of the North Germanic languages Catalan Finnish German French Portuguese and Spanish are all extensions of the Latin alphabet The additional characters are typically the ones that become corrupted making texts only mildly unreadable with mojibake a a o in Finnish and Swedish a c e e i i o o u u in Catalan ae o a in Norwegian and Danish a e o ij e e i in Dutch a o u and ss in German a d i o u y ae o in Faroese a d e i o u y th ae o in Icelandic a a c e e e e i i o u u u y ae œ in French a e e i o u in Italian a e i n o u u in Spanish a a a a c e e i o o o u in Portuguese u no longer used a e i o u in Irish a e i o u in Scottish Gaelic in British English and their uppercase counterparts if applicable These are languages for which the ISO 8859 1 character set also known as Latin 1 or Western has been in use However ISO 8859 1 has been obsoleted by two competing standards the backward compatible Windows 1252 and the slightly altered ISO 8859 15 Both add the Euro sign and the French œ but otherwise any confusion of these three character sets does not create mojibake in these languages Furthermore it is always safe to interpret ISO 8859 1 as Windows 1252 and fairly safe to interpret it as ISO 8859 15 in particular with respect to the Euro sign which replaces the rarely used currency sign However with the advent of UTF 8 mojibake has become more common in certain scenarios e g exchange of text files between UNIX and Windows computers due to UTF 8 s incompatibility with Latin 1 and Windows 1252 But UTF 8 has the ability to be directly recognised by a simple algorithm so that well written software should be able to avoid mixing UTF 8 up with other encodings so this was most common when many had software not supporting UTF 8 Most of these languages were supported by MS DOS default CP437 and other machine default encodings except ASCII so problems when buying an operating system version were less common Windows and MS DOS are not compatible however In Swedish Norwegian Danish and German vowels are rarely repeated and it is usually obvious when one character gets corrupted e g the second letter in kA rlek karlek love This way even though the reader has to guess between a a and o almost all texts remain legible Finnish text on the other hand does feature repeating vowels in words like haayo wedding night which can sometimes render text very hard to read e g haayo appears as hA A yA Icelandic and Faroese have ten and eight possibly confounding characters respectively which thus can make it more difficult to guess corrupted characters Icelandic words like thjodlod outstanding hospitality become almost entirely unintelligible when rendered as A jA A lA A In German Buchstabensalat letter salad is a common term for this phenomenon and in Spanish deformacion literally deformation Some users transliterate their writing when using a computer either by omitting the problematic diacritics or by using digraph replacements a aa a ae ae o o oe u ue etc Thus an author might write ueber instead of uber which is standard practice in German when umlauts are not available The latter practice seems to be better tolerated in the German language sphere than in the Nordic countries For example in Norwegian digraphs are associated with archaic Danish and may be used jokingly However digraphs are useful in communication with other parts of the world As an example the Norwegian football player Ole Gunnar Solskjaer had his name spelled SOLSKJAER on his back when he played for Manchester United An artifact of UTF 8 misinterpreted as ISO 8859 1 Ring meg nA Ring meg na was seen in an SMS scam raging in Norway in June 2014 5 Examples Swedish example Smorgas open sandwich File encoding Setting in browser ResultMS DOS 437 ISO 8859 1 Sm rg sISO 8859 1 Mac Roman SmˆrgAsUTF 8 ISO 8859 1 SmA rgA sUTF 8 Mac Roman Sm rg sUTF 8 ibm cp037 EBCDIC e C EACvECentral and Eastern European Edit Users of Central and Eastern European languages can also be affected Because most computers were not connected to any network during the mid to late 1980s there were different character encodings for every language with diacritical characters see ISO IEC 8859 and KOI 8 often also varying by operating system Hungarian Edit Hungarian is another affected language which uses the 26 basic English characters plus the accented forms a e i o u o u all present in the Latin 1 character set plus the two characters o and u which are not in Latin 1 These two characters can be correctly encoded in Latin 2 Windows 1250 and Unicode Before Unicode became common in e mail clients e mails containing Hungarian text often had the letters o and u corrupted sometimes to the point of unrecognizability It is common to respond to an e mail rendered unreadable see examples below by character mangling referred to as betuszemet meaning letter garbage with the phrase Arvizturo tukorfurogep a nonsense phrase literally Flood resistant mirror drilling machine containing all accented characters used in Hungarian Examples Edit Source encoding Target encoding Result OccurrenceHungarian example ARVIZTURO TUKORFURoGEParvizturo tukorfurogep Characters in red are incorrect and do not match the top left example CP 852 CP 437 RV ZTd Re TUKORF8 Ra GEParvizt ri tukorfurogep This was very common in DOS era when the text was encoded by the Central European CP 852 encoding however the operating system a software or printer used the default CP 437 encoding Please note that small case letters are mainly correct exception with o i and u U u is correct because CP 852 was made compatible with German Nowadays occurs mainly on printed prescriptions and cheques CWI 2 CP 437 A RVi ZTy Rº TUKORFu Ro GEParviztu ro tukorfurogep The CWI 2 encoding was designed so that the text remains fairly well readable even if the display or printer uses the default CP 437 encoding This encoding was heavily used in the 1980s and early 1990s but nowadays it is completely deprecated Windows 1250 Windows 1252 ARVIZTU RO TUKORFURoGEParviztu ro tukorfurogep The default Western Windows encoding is used instead of the Central European one Only o O o O and u U u U are wrong but the text is completely readable This is the most common error nowadays due to ignorance it occurs often on webpages or even in printed media CP 852 Windows 1250 µ RVO ZTe RS Ts K RFe Rŕ G P rvˇ ztur t k rfL r g p Central European Windows encoding is used instead of DOS encoding The use of u is correct Windows 1250 CP 852 RV ZT RN T KI RF RE G Pss rvY ztur tR k rf rˇ gU p Central European DOS encoding is used instead of Windows encoding The use of u is correct Quoted printable 7 bit ASCII C1 RV CD ZT DB R D5 T DC K D6 RF DA R D3 G C9 P E1 rv ED zt FB r F5 t FC k F6 rf FA r F3 g E9 p Mainly caused by wrongly configured mail servers but may occur in SMS messages on some cell phones as well UTF 8 Windows 1252 A RVA ZTA RA TAœ KA RFAs RA GA PA rvA ztA rA tA kA rfAº rA gA c p Mainly caused by wrongly configured web services or webmail clients which were not tested for international usage as the problem remains concealed for English texts In this case the actual often generated content is in UTF 8 however it is not configured in the HTML headers so the rendering engine displays it with the default Western encoding Polish Edit Prior to the creation of ISO 8859 2 in 1987 users of various computing platforms used their own character encodings such as AmigaPL on Amiga Atari Club on Atari ST and Masovia IBM CP852 Mazovia and Windows CP1250 on IBM PCs Polish companies selling early DOS computers created their own mutually incompatible ways to encode Polish characters and simply reprogrammed the EPROMs of the video cards typically CGA EGA or Hercules to provide hardware code pages with the needed glyphs for Polish arbitrarily located without reference to where other computer sellers had placed them The situation began to improve when after pressure from academic and user groups ISO 8859 2 succeeded as the Internet standard with limited support of the dominant vendors software today largely replaced by Unicode With the numerous problems caused by the variety of encodings even today some users tend to refer to Polish diacritical characters as krzaczki ˈkʂat ʂ ki lit little shrubs Russian and other Cyrillic alphabets Edit Mojibake may be colloquially called krakozyabry krakozya bry krɐkɐˈzʲaebrɪ in Russian which was and remains complicated by several systems for encoding Cyrillic 6 The Soviet Union and early Russian Federation developed KOI encodings Kod Obmena Informatsiey Kod Obmena Informaciej which translates to Code for Information Exchange This began with Cyrillic only 7 bit KOI7 based on ASCII but with Latin and some other characters replaced with Cyrillic letters Then came 8 bit KOI8 encoding that is an ASCII extension which encodes Cyrillic letters only with high bit set octets corresponding to 7 bit codes from KOI7 It is for this reason that KOI8 text even Russian remains partially readable after stripping the eighth bit which was considered as a major advantage in the age of 8BITMIME unaware email systems For example words Shkola russkogo yazyka shkola russkogo yazyka encoded in KOI8 and then passed through the high bit stripping process end up rendered as KOLA RUSSKOGO qZYKA Eventually KOI8 gained different flavors for Russian and Bulgarian KOI8 R Ukrainian KOI8 U Belarusian KOI8 RU and even Tajik KOI8 T Meanwhile in the West Code page 866 supported Ukrainian and Belarusian as well as Russian Bulgarian in MS DOS For Microsoft Windows Code Page 1251 added support for Serbian and other Slavic variants of Cyrillic Most recently the Unicode encoding includes code points for practically all the characters of all the world s languages including all Cyrillic characters Before Unicode it was necessary to match text encoding with a font using the same encoding system Failure to do this produced unreadable gibberish whose specific appearance varied depending on the exact combination of text encoding and font encoding For example attempting to view non Unicode Cyrillic text using a font that is limited to the Latin alphabet or using the default Western encoding typically results in text that consists almost entirely of vowels with diacritical marks KOI8 Biblioteka biblioteka library becomes aEAIEIOAEA Using Windows codepage 1251 to view text in KOI8 or vice versa results in garbled text that consists mostly of capital letters KOI8 and codepage 1251 share the same ASCII region but KOI8 has uppercase letters in the region where codepage 1251 has lowercase and vice versa In general Cyrillic gibberish is symptomatic of using the wrong Cyrillic font During the early years of the Russian sector of the World Wide Web both KOI8 and codepage 1251 were common As of 2017 one can still encounter HTML pages in codepage 1251 and rarely KOI8 encodings as well as Unicode An estimated 1 7 of all web pages worldwide all languages included are encoded in codepage 1251 7 Though the HTML standard includes the ability to specify the encoding for any given web page in its source 8 this is sometimes neglected forcing the user to switch encodings in the browser manually In Bulgarian mojibake is often called majmunica majmunica meaning monkey s alphabet In Serbian it is called đubre ђubre meaning trash Unlike the former USSR South Slavs never used something like KOI8 and Code Page 1251 was the dominant Cyrillic encoding there before Unicode Therefore these languages experienced fewer encoding incompatibility troubles than Russian In the 1980s Bulgarian computers used their own MIK encoding which is superficially similar to although incompatible with CP866 Example Russian example Krakozyabry krakozyabry garbage characters File encoding Setting in browser ResultMS DOS 855 ISO 8859 1 AEa AEOoTH anKOI8 R ISO 8859 1 eOAEIUNAOUUTF 8 KOI8 R p ya p p p p ya p ya ya Yugoslav languages Edit Croatian Bosnian Serbian the seceding varieties of Serbo Croatian language and Slovenian add to the basic Latin alphabet the letters s đ c c z and their capital counterparts S Đ C C Z only c C s S and z Z in Slovenian officially although others are used when needed mostly in foreign names as well All of these letters are defined in Latin 2 and Windows 1250 while only some s S z Z Đ exist in the usual OS default Windows 1252 and are there because of some other languages Although Mojibake can occur with any of these characters the letters that are not included in Windows 1252 are much more prone to errors Thus even nowadays sđccz SĐCCZ is often displayed as sdeaez SDEAEZ although d e ae E AE are never used in Slavic languages When confined to basic ASCII most user names for example common replacements are s s đ dj c c c c z z capital forms analogously with Đ Dj or Đ DJ depending on word case All of these replacements introduce ambiguities so reconstructing the original from such a form is usually done manually if required The Windows 1252 encoding is important because the English versions of the Windows operating system are most widespread not localized ones citation needed The reasons for this include a relatively small and fragmented market increasing the price of high quality localization a high degree of software piracy in turn caused by high price of software compared to income which discourages localization efforts and people preferring English versions of Windows and other software citation needed The drive to differentiate Croatian from Serbian Bosnian from Croatian and Serbian and now even Montenegrin from the other three creates many problems There are many different localizations using different standards and of different quality There are no common translations for the vast amount of computer terminology originating in English In the end people use adopted English words kompjuter for computer kompajlirati for compile etc and if they are unaccustomed to the translated terms may not understand what some option in a menu is supposed to do based on the translated phrase Therefore people who understand English as well as those who are accustomed to English terminology who are most because English terminology is also mostly taught in schools because of these problems regularly choose the original English versions of non specialist software When Cyrillic script is used for Macedonian and partially Serbian the problem is similar to other Cyrillic based scripts Newer versions of English Windows allow the code page to be changed older versions require special English versions with this support but this setting can be and often was incorrectly set For example Windows 98 and Windows Me can be set to most non right to left single byte code pages including 1250 but only at install time Caucasian languages Edit The writing systems of certain languages of the Caucasus region including the scripts of Georgian and Armenian may produce mojibake This problem is particularly acute in the case of ArmSCII or ARMSCII a set of obsolete character encodings for the Armenian alphabet which have been superseded by Unicode standards ArmSCII is not widely used because of a lack of support in the computer industry For example Microsoft Windows does not support it Asian encodings Edit Another type of mojibake occurs when text is erroneously parsed in a multi byte encoding such as one of the encodings for East Asian languages With this kind of mojibake more than one typically two characters are corrupted at once e g k舐lek karlek in Swedish where ar is parsed as 舐 Compared to the above mojibake this is harder to read since letters unrelated to the problematic a a or o are missing and is especially problematic for short words starting with a a or o such as an which becomes 舅 Since two letters are combined the mojibake also seems more random over 50 variants compared to the normal three not counting the rarer capitals In some rare cases an entire text string which happens to include a pattern of particular word lengths such as the sentence Bush hid the facts may be misinterpreted Vietnamese Edit Main article Vietnamese language and computers In Vietnamese the phenomenon is called chữ ma or loạn ma It can occur when a computer tries to encode diacritic character defined in Windows 1258 TCVN3 or VNI to UTF 8 Chữ ma was common in Vietnam when using Windows XP computers or cheap mobile phones Example Trăm năm trong coi người ta Truyện Kiều Nguyễn Du Original encoding Target encoding ResultWindows 1258 UTF 8 TrA m nA m trong cAµ i ngAE a i taTCVN3 UTF 8 Tr m n m trong ca i nge i taVNI Windows UTF 8 Trae m nae m trong coo i ngooo i taJapanese Edit Main article Japanese language and computers In Japanese the same phenomenon is as mentioned called mojibake 文字化け It is a particular problem in Japan due to the numerous different encodings that exist for Japanese text Alongside Unicode encodings like UTF 8 and UTF 16 there are other standard encodings such as Shift JIS Windows machines and EUC JP UNIX systems Mojibake as well as being encountered by Japanese users is also often encountered by non Japanese when attempting to run software written for the Japanese market Chinese Edit In Chinese the same phenomenon is called Luan mǎ Pinyin Simplified Chinese 乱码 Traditional Chinese 亂碼 meaning chaotic code and can occur when computerised text is encoded in one Chinese character encoding but is displayed using the wrong encoding When this occurs it is often possible to fix the issue by switching the character encoding without loss of data The situation is complicated because of the existence of several Chinese character encoding systems in use the most common ones being Unicode Big5 and Guobiao with several backward compatible versions and the possibility of Chinese characters being encoded using Japanese encoding It is easy to identify the original encoding when luanma occurs in Guobiao encodings Original encoding Viewed as Result Original text NoteBig5 GB T瓣v变巨肚 三國志曹操傳 Garbled Chinese characters with no hint of original meaning The red character is not a valid codepoint in GB 2312 Shift JIS GB 暥帤壔偗僥僗僩 文字化けテスト Kana is displayed as characters with the radical 亻 while kanji are other characters Most of them are extremely uncommon and not in practical use in modern Chinese EUC KR GB 叼力捞钙胶 抛农聪墨 디제이맥스 테크니카 Random common Simplified Chinese characters which in most cases make no sense Easily identifiable because of spaces between every several characters An additional problem is caused when encodings are missing characters which is common with rare or antiquated characters that are still used in personal or place names Examples of this are Taiwanese politicians Wang Chien shien Chinese 王建煊 pinyin Wang Jianxuan s 煊 Yu Shyi kun simplified Chinese 游锡堃 traditional Chinese 游錫堃 pinyin You Xikun s 堃 and singer David Tao Chinese 陶喆 pinyin Tao Zhe s 喆 missing in Big5 ex PRC Premier Zhu Rongji Chinese 朱镕基 pinyin Zhu Rongji s 镕 missing in GB 2312 copyright symbol c missing in GBK 9 Newspapers have dealt with this problem in various ways including using software to combine two existing similar characters using a picture of the personality or simply substituting a homophone for the rare character in the hope that the reader would be able to make the correct inference Indic text Edit A similar effect can occur in Brahmic or Indic scripts of South Asia used in such Indo Aryan or Indic languages as Hindustani Hindi Urdu Bengali Punjabi Marathi and others even if the character set employed is properly recognized by the application This is because in many Indic scripts the rules by which individual letter symbols combine to create symbols for syllables may not be properly understood by a computer missing the appropriate software even if the glyphs for the individual letter forms are available One example of this is the old Wikipedia logo which attempts to show the character analogous to wi the first syllable of Wikipedia on each of many puzzle pieces The puzzle piece meant to bear the Devanagari character for wi instead used to display the wa character followed by an unpaired i modifier vowel easily recognizable as mojibake generated by a computer not configured to display Indic text 10 The logo as redesigned as of May 2010 ref has fixed these errors The idea of Plain Text requires the operating system to provide a font to display Unicode codes This font is different from OS to OS for Singhala and it makes orthographically incorrect glyphs for some letters syllables across all operating systems For instance the reph the short form for r is a diacritic that normally goes on top of a plain letter However it is wrong to go on top of some letters like ya or la in specific contexts For Sanskritic words or names inherited by modern languages such as क र य IAST karya or आर य IAST arya it is apt to put it on top of these letters By contrast for similar sounds in modern languages which result from their specific rules it is not put on top such as the word करण ऱ य IAST karaṇarya a stem form of the common word करण र र IAST karaṇara ri in the Marathi language 11 But it happens in most operating systems This appears to be a fault of internal programming of the fonts In Mac OS and iOS the muurdhaja l dark l and u combination and its long form both yield wrong shapes citation needed Some Indic and Indic derived scripts most notably Lao were not officially supported by Windows XP until the release of Vista 12 However various sites have made free to download fonts Burmese Edit Due to Western sanctions 13 and the late arrival of Burmese language support in computers 14 15 much of the early Burmese localization was homegrown without international cooperation The prevailing means of Burmese support is via the Zawgyi font a font that was created as a Unicode font but was in fact only partially Unicode compliant 15 In the Zawgyi font some codepoints for Burmese script were implemented as specified in Unicode but others were not 16 The Unicode Consortium refers to this as ad hoc font encodings 17 With the advent of mobile phones mobile vendors such as Samsung and Huawei simply replaced the Unicode compliant system fonts with Zawgyi versions 14 Due to these ad hoc encodings communications between users of Zawgyi and Unicode would render as garbled text To get around this issue content producers would make posts in both Zawgyi and Unicode 18 Myanmar government has designated 1 October 2019 as U Day to officially switch to Unicode 13 The full transition is estimated to take two years 19 African languages Edit In certain writing systems of Africa unencoded text is unreadable Texts that may produce mojibake include those from the Horn of Africa such as the Ge ez script in Ethiopia and Eritrea used for Amharic Tigre and other languages and the Somali language which employs the Osmanya alphabet In Southern Africa the Mwangwego alphabet is used to write languages of Malawi and the Mandombe alphabet was created for the Democratic Republic of the Congo but these are not generally supported Various other writing systems native to West Africa present similar problems such as the N Ko alphabet used for Manding languages in Guinea and the Vai syllabary used in Liberia Arabic Edit Another affected language is Arabic see below The text becomes unreadable when the encodings do not match Examples Edit File encoding Setting in browser ResultArabic example Universal Declaration of Human Rights Browser rendering الإعلان العالمى لحقوق الإنسانUTF 8 Windows 1252 i O U O O U O U O U O O U U U U O U UˆU O U O U O O U KOI8 R O c y y y y y y y y y y y y y Yo y ISO 8859 5 yaLPiYij iЅiJj iYij iYij iJiYij j j j ij j j iYij iЅj iGiYij CP 866 ya z D e D z Zh z D z D E J D n V I V z D e Zh z ZhISO 8859 6 ظ ع ظ ظ ع ظ ع ظ ع ظ ظ ع ع ع ع ظع ع ع ظ ع ظ ع ظ ظ ع ISO 8859 2 dtzR U RĽRsU R U R U RsR U U U U RU U U R U RĽU RlR U Windows 1256 Windows 1252 CaAUaCa CaUCaai aITHaeTH CaAaoCaThe examples in this article do not have UTF 8 as browser setting because UTF 8 is easily recognisable so if a browser supports UTF 8 it should recognise it automatically and not try to interpret something else as UTF 8 See also EditCode point Replacement character Substitute character Newline The conventions for representing the line break differ between Windows and Unix systems Though most software supports both conventions which is trivial software that must preserve or display the difference e g version control systems and data comparison tools can get substantially more difficult to use if not adhering to one convention Byte order mark The most in band way to store the encoding together with the data prepend it This is by intention invisible to humans using compliant software but will by design be perceived as garbage characters to incompliant software including many interpreters HTML entities An encoding of special characters in HTML mostly optional but required for certain characters to escape interpretation as markup While failure to apply this transformation is a vulnerability see cross site scripting applying it too many times results in garbling of these characters For example the quotation mark becomes amp quot amp amp quot amp amp amp quot and so on Bush hid the factsReferences Edit King Ritchie 2012 Will unicode soon be the universal code The Data IEEE Spectrum 49 7 60 doi 10 1109 MSPEC 2012 6221090 WINDISCHMANN Stephan 31 March 2004 curl v linux ars Internationalization Ars Technica Retrieved 5 October 2018 Guidelines for extended attributes 2013 05 17 Retrieved 2015 02 15 Unicode mailinglist on the Eudora email client 2001 05 13 Retrieved 2014 11 01 sms scam June 18 2014 Retrieved June 19 2014 p 141 Control Alt Delete A Dictionary of Cyberslang Jonathon Keats Globe Pequot 2007 ISBN 1 59921 039 8 Usage of Windows 1251 for websites Declaring character encodings in HTML PRC GBK XGB Microsoft Archived from the original on 2002 10 01 Conversion map between Code page 936 and Unicode Need manually selecting GB 18030 or GBK in browser to view it correctly Cohen Noam June 25 2007 Some Errors Defy Fixes A Typo in Wikipedia s Logo Fractures the Sanskrit The New York Times Retrieved July 17 2009 Marathi Typing English to Marathi Online Marathi Typing marathi indiatyping com Retrieved 2022 08 02 Content Moved Windows Msdn microsoft com Retrieved 2014 02 05 a b Unicode in Zawgyi out Modernity finally catches up in Myanmar s digital world The Japan Times 27 September 2019 Retrieved 24 December 2019 Oct 1 is U Day when Myanmar officially will adopt the new system Microsoft and Apple helped other countries standardize years ago but Western sanctions meant Myanmar lost out a b Hotchkiss Griffin March 23 2016 Battle of the fonts Frontier Myanmar Retrieved 24 December 2019 With the release of Windows XP service pack 2 complex scripts were supported which made it possible for Windows to render a Unicode compliant Burmese font such as Myanmar1 released in 2005 Myazedi BIT and later Zawgyi circumscribed the rendering problem by adding extra code points that were reserved for Myanmar s ethnic languages Not only does the re mapping prevent future ethnic language support it also results in a typing system that can be confusing and inefficient even for experienced users Huawei and Samsung the two most popular smartphone brands in Myanmar are motivated only by capturing the largest market share which means they support Zawgyi out of the box a b Sin Thant 7 September 2019 Unified under one font system as Myanmar prepares to migrate from Zawgyi to Unicode Rising Voices Retrieved 24 December 2019 Standard Myanmar Unicode fonts were never mainstreamed unlike the private and partially Unicode compliant Zawgyi font Unicode will improve natural language processing Why Unicode is Needed Google Code Zawgyi Project Retrieved 31 October 2013 Myanmar Scripts and Languages Frequently Asked Questions Unicode Consortium Retrieved 24 December 2019 UTF 8 technically does not apply to ad hoc font encodings such as Zawgyi LaGrow Nick Pruzan Miri September 26 2019 Integrating autoconversion Facebook s path from Zawgyi to Unicode Facebook Engineering Facebook Engineering Facebook Retrieved 25 December 2019 It makes communication on digital platforms difficult as content written in Unicode appears garbled to Zawgyi users and vice versa In order to better reach their audiences content producers in Myanmar often post in both Zawgyi and Unicode in a single post not to mention English or other languages Saw Yi Nanda 21 November 2019 Myanmar switch to Unicode to take two years app developer The Myanmar Times Retrieved 24 December 2019 External links Edit The dictionary definition of mojibake at Wiktionary Media related to Mojibake at Wikimedia Commons Retrieved from https en wikipedia org w index php title Mojibake amp oldid 1132658177, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.