(文字化け?) (IPA: [modʑibake]; lit. “character transformation”), from the Japanese 文字 (moji) “character” + 化け (bake) “transform”, is the presentation of incorrect, unreadable characters when software fails to render text correctly according to its associated character encoding.
Mojibake is often caused when a character encoding is not correctly tagged in a document, or when a document is moved to a system with a different default encoding. Such incorrect display occurs when writing systems or character encodings are mistagged or “foreign” to the user’s computer system; if a computer does not have the software required to process a foreign language’s characters, it will attempt to process them in its default language encoding, usually resulting in gibberish. Transferring messages between different encodings of the same language can also result in mojibake. Japanese language users, with several different encodings historically employed, encounter this problem relatively often. For example, the intended word “文字化け”, encoded in UTF-8, is incorrectly displayed as “æ–‡å—åŒ–ã‘” in software that is configured to expect text in the Windows-1252 or ISO-8859-1 encodings, usually labeled Western.
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. Heuristics can be applied to guess at the character set, but these are not always successful.
Mojibake can also occur between what appears to be the same encodings. For example, some software by Microsoft and Eudora for Windows purportedly encoded their output using the ISO-8859-1 encoding while, in reality, used Windows-1252 that contains extra printable characters in the C1 range. These characters were not displayed properly in software complying with the ISO standard; this especially affected software running under other operating systems (e.g. Unix).