Thursday, September 26, 2019

Sử dụng tiếng việt và tiếng nhật trên ubuntu 18.04


  1. Vào setting > regions and languages > manage installed languages > click vao nut install/remove language > check vao japanese va vietnamese roi nhan apply
  2. chọn ibus làm input method system (còn gọi là input framework)
  3. khởi động lại máy tính hoặc chạy ibus restart


ngoài ra có thể dùng thêm ibus-m17n làm input framework

Sunday, March 10, 2019

Using Japanese on a MacOS High sierra

This site describes how to use Japanese on a Macintosh computer, particularly for people who use a Mac predominantly in English but also want to read, write, browse, and email in Japanese. This front page contains information on activating Japanese support in Mac OS: start by following the instructions below, then consult the other pages on the site for information on specific tasks and applications: email, web browsing, dictionary software, etc.
The instructions on this site are up to date for Mac OS 10.12 (Sierra), but you can use them with very slight changes for earlier versions of Mac OS X. (For significantly older systems, see the "Other Resources" page on this site.)

Getting Started: How to Enable Japanese Input in Mac OS

Today using Japanese with the Mac is relatively seamless. Mac OS comes installed with support for reading and editing Japanese--in documents, in email, and on the web. If you receive Japanese email in Apple's Mail application or go to a Japanese web page in Safari, the Japanese will probably display correctly without your doing anything special or reading any further on this page. If this does not work smoothly, if you want to enable additional features in these programs, or if you want to input Japanese text (to create documents, do web searches, or send email in Japanese, for example), you'll need to take some extra steps. These are described below, and on the other pages of this site.
To enable input in Japanese (or other Asian languages), go to System Preferences from the Apple menu, click on the blue flag icon labeled Language & Region. Click on the button marked with a plus sign in the lower left to add a new language, then select Japanese from the menu and click the Add button. You will be asked you if you would like to use Japanese as your primary language; for now choose "Use English," unless you want the menus and dialogs in the finder and other applications to switch to Japanese.
Maverick System preference panes
Maverick System preferences languages pane adding Japanese
If you have a trackpad, you may also want to repeat this process to add "Traditional Chinese" or "Simplified Chinese," which will bring up a second window allowing you to choose the "Trackpad Handwriting" option. This will let you enter kanji characters by drawing them on the trackpad.
The next step is to set the options for Japanese input. Click on the "Keyboard Preferences…" button at the bottom of the Language & Region window, which will take you directly to the Input Sources tab of the Keyboard Preferences pane. From the menu on the left, choose "Japanese." (If you have an older versions of MacOS, this may say "kotoeri", which was the earlier, more poetic name of the Japanese input method). You'll see the different Japanese input preference options. Set them as follows to start out:
  • Check the boxes for hiragana and katakana.
  • Uncheck the "Live Conversion" box for now.
  • Scroll down a little further in the panel (past the content shown below) and find an option called "Predictive Candidates"; it should be unchecked.
  • Check the box that says "Show input menu in menu bar" at the bottom of the preferences pane.
Sierra Japanese input preferences
If you now look at the menu bar at the very top of the screen, you should see the icon for the input menu--it probably looks like a little flag. You can now select Hiragana or Katakana from that menu to enter Japanese text in almost any application. For more on how to enter Japanese text, see the page on Typing in Japanese elsewhere on this site.) If Hiragana or Katakana is already selected as the input method when you click on the input menu, you'll get a longer menu with options specific to Japanese input, including a help option.
El Capitan input menu with English input selected El Capitan input menu with Japanese input selected

Do I need a Japanese Keyboard?

Most users (including native speakers) enter Japanese by typing the pronunciation in roman characters, so you do not need a special Japanese keyboard. If you have a Japanese a keyboard, it has a few extra keys you can take advantage of, as well as the option of dispensing with roman character input and having each key map to a specific kana character. The online Apple store now has an option that lets you select a Japanese keyboard as an option when you buy a new Mac. If you are using a Japanese keyboard or laptop, you can choose between the rōmaji or kana input method in the Japanese input preferences.

Choosing English or Japanese Menus in Applications

To enable Japanese menus in the Finder and other applications, you can go to System Preferences under the Apple menu, then select the icon for the Language & Region preferences pane. Add Japanese to the list of languages as described above, if it does not appear there already. If you drag Japanese above English in the list, the finder and many other applications will open next time with Japanese menus. Even if you do not want Japanese menus, make sure Japanese appears somewhere in your list of languages. Just having it there unlocks Japanese features in certain software, like Japanese encoding in Apple's Mail application.
System preferences languages pane
You can also set the menu language of specific applications individually. Many (though not all) applications have menus in different languages built in. You can activate these with a third-party application called Language Switcher.

Next Steps


For a guide to entering text in Japanese, see the page on Typing in Japanese, elsewhere on this site. For an introduction to using Japanese with different applications, see the pages on Text Editors, Dictionaries, and Browsers. All of these are accessible from the navigation bar at left.

Setting up Japanese on Mac OS X Mavericks

etting up Japanese to work with your Apple computer is a pretty easy affair. All of the recent versions of Mac OS X—including the latest version, Mavericks—have included Japanese language support out out of the box.
Windows, Android or Linux user? Check out our full Japanese reading & typing guide

Reading Japanese on Mac OS X

When you go to a webpage that shows text in Japanese, it should display as it would if you bought your computer in Japan. Nothing more to do.
However, a number of different encodings are used to display Japanese characters, and it may be that your browser is not recognising that the web page is encoded in Japanese if the text is not displaying properly: usually because the web page did not specify in the HTML which one to use, and the browser cannot work it out for itself.
Learn Japanese with LinguaLift
If you’re having trouble with a particular web page, in Safari, select Text Encoding from the ‘view’ menu, then select one of the different options until the characters display as it should. You’ll need to manually change this encoding back to default after you’ve visited the page.

Typing Japanese on Mac OS X

There is actually nothing you need to install separately in Mac OS X Mavericks to type Japanese - you just need to click a few buttons in the settings panel. You can type Japanese perfectly with a non-Japanese keyboard with the help of an IME.
  1. Click System Preferences from the Apple menu,
  2. Click the blue flag icon labeled Language and Text
  3. Select the Input Sources tab.
  4. Scroll, and find Kotoeri, and select Hiragana and Katakana
  5. Click the box next to Show input menu in menu bar at the bottom of the preferences pane. This will add a little flag to the top-right hand corner of your screen.

Alternative Japanese IMEs

Google IME is simple to install and use, but does not offer any benefits over the default MS IME. The main difference is that kanji autocomplete options tend to be slightly more colloquial, as the suggestions are pulled from language used online instead of a pre-built dictionary. I use it myself, as I think it better handles place names better, but I probably wouldn’t notice if I used the default one.

The input method used by most Japanese companies and preinstalled on many computers in Japan is ATOK IME. It is one of the most advanced IMEs on the market, with many useful features for professionals working with Japanese on a daily basis, though they come at a steep price of almost $100.

Wednesday, February 28, 2018

How to change the system language across your whole Windows 10 PC

You computer has a default system-wide language set in Windows 10, but you don't have to be stuck with it if your needs are different. With Windows 10 you can set the language settings for single accounts through the Settings app, but what about setting it for all accounts, the Lock Screen, and everywhere else on your PC? For that you'll need the Control Panel.
In this Windows 10 guide, we'll walk you through the steps to properly change the default language across on your entire computer.

How to change the language globally on your PC

Before we dive into this guide, it's important to note that if you're using a Microsoft Account, this preference will sync across devices. If you only want to change settings on one particular computer, you should go to Settings > Accounts > Sync your settings and turn off the Language preferences option.
  1. Use the Windows key + I keyboard shortcut to open the Settings app.
  2. Click Time & language.
  3. Click Region & language.
  4. Under Languages, click Add a language.
  5. Click the language you want to add, and select the specific variation if applicable.
  6. Select the new language and click Options (and download any the language packs as necessary).
  7. On Region & language, select the new language, and click Set as default.
  8. If applicable, under Country or region, select your location to enable the Windows 10 to give you local content.
  9. Use the Windows key + X keyboard shortcut to open the Power User menu and select Control Panel.
  10. Click Add a language.
  11. Click the Advanced settings link in the left pane.
  12. Click the "Apply language settings to the Welcome screen, system accounts, and new user accounts."
  13. On the Administrative tab, under the "Welcome screen and new user accounts", click the Copy settings button.
  14. Check the Welcome screen and system accounts and the New user accounts options.
  15. Click OK.
  16. Click OK again.
  17. Reboot your computer and upon restart, you should see the new default language globally set through the operating system.
You'll find this feature especially useful when you work on a mixed-language environment where you need to configure workstations with different preferences to accommodate users. In addition, this feature will help in those times when you happen to purchase a new computer that ships from another country with a different language, or even when you move to another region of the world and you want to change your PC preferences to match the local settings.

How to Change the Display Language in Windows 7

If you live in an English-speaking country and purchased a PC at your local retailer or online, chances are you are running an English version of Windows 7.
However, if you're native language is something other than English, this guide will show you how to change the display language in Windows 7 to one of the 30+ languages supported by Microsoft's latest operating system.
We used Windows 7 Ultimate for this guide, but the instructions apply to all Windows 7 editions.

Setting the Region & Language in Windows 7

  1. To get started, click the Start (Windows Logo) button to open the Start Menu.
  2. When the Start Menu opens, enter "change display language" without the quotes, in the Windows search box.
  3. A list of search results will appear in the Start menu, click Change display language from the list.
  4. The Region and Language window will appear. Make sure that the Keyboards and Languages tab is active.
  5. Click the Install/Uninstall Languages... button.
In order for you to use languages other than the default installed in Windows, you will need to download them from Microsoft, then install the language pack for the language you wish to use.

Install Additional Language Packs from Windows Update

The Install or uninstall display languages wizard will appear prompting you to Install display languages or Uninstall display languages.
Click Install to download the language packs.
You will then be prompted to select the location of the Language packs with two options, Launch Windows Update or Browse computer or network.
Unless you have a language pack stored on your PC, click Launch Windows Update to download the latest language packs direct from Microsoft.

Use Windows Update Optional Updates to Download Language Packs

When you select the Launch Windows Update option, the Windows Update window will appear.
Note: Windows Update is used to download updates, security patches, language packs, drivers and other features direct from Microsoft.
There are two types of updates that are usually available from Windows Update, those that are important and should be downloaded right away and those that are optional, which are not critical.
The language packs fall on the latter, non-critical optional updates, so you will need to manually select the language pack you wish to use to download it from Windows Update.
Click the # optional updates in the available link (the # refers to the number of optional updates that are available for download).

Select Language Packs to Download & Install

The Select updates to install page will load with a list of available updates that are Important and Optional.
  1. Make sure that the Optional tab is active.
  2. Select the language you wish to use by adding a checkmark next to the language pack on the list from the Windows 7 Language Packs section.
  3. Once the language packs are selected, click OK.

Language Packs with Download & Install

You will return to the Windows Update page where you will click the Install Updates button to begin downloading the language packs you selected from the list.
Once the language packs ​are downloaded and installed they will be available for use.

Select the Display Language You Wish to Use

Select display language Windows 7
Select new display language in Windows 7.
When you return to the Region and Language dialog box, select the languages you just downloaded from the Choose a display language drop-down.
Once you select the language, click OK to save the changes.
In order for the new display language to become active, you will need to log off from your computer. Once you log back in, the display language you selected should be active.

Sunday, December 24, 2017

ÁP DỤNG: CentOS7の日本語入力にAnthyを使うには

CentOS7の日本語入力について、デフォルトがibus – kkc(Japanese Kana Kanji input method for ibus)でした。全角空白の入力をするには「くうはく」と入れて変換をする必要があり、設定で回避する方法もよくわからなかったので、使い慣れたibus-anthyへ切り替えることにしました。単語登録もよくわからなかったというのもあります。~/.config/ibus-kkc/dictionary/sentenceへ登録すれば良いようでしたが、Anthyであれば、kasumiで登録できるので、手軽です。日本語入力については、ibus-mozcも選択肢としてあるようですね。

インストールは簡単で、EPELリポジトリを有効にしてから、ibus-anthyをyumでインストールするだけです。インストールしたら、一度ログアウトが必要です。

?
1
2
$ sudo yum -y epel-release
$ sudo yum -y install ibus-anthy
システムメニューの右上に表示されている「あ」とか「_A」をクリックすると、日本語入力でAnthyが選択できるようになるので、それを選択すれば使えるようになります。
でない場合はibus-kkcを削除してから、言語設定をしなおしましょう。
?
1
$ sudo yum remove ibus-kkc
単語登録は、kasumiを使います。「-a」で単語登録画面を「-e」で編集画面が表示されます。
?
1
$ kasumi -a
登録した単語は、/.anthy/praivate_words_default に保存されます。直接このファイルを変更した場合は、Anthyの再起動か、ログインのしなおしが必要なはずです(未確認)。

--------------------

04
05
06
追加が終わったら「スーパーキー(Windows)」+「スペースキー」で入力ソースを切り替えましょう。
08
メニューバーにもmozcが追加されているはずです。
07
mozcを選択した後は半角/全角キーで漢字と英数を切り替えることができます。
09
10

Monday, November 13, 2017

Mojibake

Mojibake (文字化け) (IPA: [mod͡ʑibake]; lit. "character transformation"), from the Japanese 文字 (moji) "character" + 化け (bake, pronounced "bah-keh") "transform", 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. 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 codepoint 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[edit]

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 incompliance 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 (around 2004[citation needed]) for all uses of text, Microsoft Windows still uses codepages for text files that differ between languages.
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) if interpreted as being in a form of Shift JIS. 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.

Underspecification[edit]

If the encoding is not specified, it is up to the software to decide it by other means. Depending on type of software, the typical solution is either configuration or charset detection heuristics. Both are prone to mispredict in not-so-uncommon scenarios.
The encoding of text files is usually governed by the OS-level setting, which depends on brand of operating system and possibly the user's language. Therefore, the assumed encoding is systematically wrong for files that come from a computer with a different setting, for example when transferring files between Windows and Linux. 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 filesystem. Filesystems that support extended file attributes can store this as user.charset.[2] 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.

Misspecification[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.[3] The Mac OS version of Eudora did not exhibit this behaviour. Windows-1252 contains extra printable characters in the C1 range (the most frequently seen being the typographically correct quotation marks and 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.

Human ignorance[edit]

Of the encodings still in use, many are partially compatible with each other, with ASCII as the predominant common subset. This sets the stage for human ignorance:
  • Compatibility can be a deceptive property, as the common subset of characters are unaffected by a mixup of two encodings (see Problems in different writing systems).
  • People think they are using ASCII, and tend to label whatever superset of ASCII they actually use as "ASCII". Maybe for simplification, but even in academic literature, the word "ASCII" can be found used as an example of something not compatible with Unicode, where evidently "ASCII" is Windows-1252 and "Unicode" is UTF-8.[1] Note that UTF-8 is backwards compatible with 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/Software support[edit]

Many older hardware are 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[edit]

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[edit]

English[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 "£" if it was encoded by the sender as UTF-8 but interpreted by the recipient as CP1252 or ISO 8859-1. If iterated, 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.

Central 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.
Mojibake caused by a song title in Cyrillic (Моя Страна) on a car audio system

Russian and other Cyrillic alphabets [edit]

Mojibake may be colloquially called krakozyabry (кракозя́бры, IPA:krɐkɐˈzʲæbrɪ̈) in Russian, which was and remains complicated by several systems for encoding Cyrillic.[4] The Soviet Union and early Russian Federationdeveloped KOI encodings (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, 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/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 Win-1251 to view text in KOI8 or vice versa results in garbled text that consists mostly of capital letters (KOI8 and Win-1251 share the same ASCII region, but KOI8 has uppercase letters in the region where Win-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 Win-1251 were common. As of 2017, one can still encounter HTML pages in Win-1251 and, rarely, KOI8 encodings, as well as Unicode. (Estimated 1.7% of all web pages worldwide - all languages included - are encoded in Win-1251.[5]) Though the HTML standard includes the ability to specify the encoding for any given web page in its source,[6] 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 encodingSetting in browserResult
MS-DOS 855ISO 8859-1Æá ÆÖóÞ¢áñ
KOI8-RISO 8859-1ëÒÁËÏÚÑÂÒÙ
UTF-8KOI8-Rп я─п╟п╨п╬п╥я▐п╠я─я▀

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 ([kshach-kih], lit. "little shrubs").

Yugoslav languages[edit]

Slovenian, Croatian, Bosnian, Serbian, the variants of the Yugoslav Serbo-Croatian language, 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, ć→cj, ž→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, the people who understand English, as well as those who are accustomed to English terminology (which 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 ANSI codepage 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/Me can be set to most non-right-to-left single-byte codepages including 1250, but only at install time.

Hungarian[edit]

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 2 characters ő and ű, which are not in Latin-1. These 2 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 "garbage lettering") 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[edit]

Source encodingTarget encodingResultOccurrence
Hungarian exampleÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP
árvíztűrő tükörfúrógép
CP 852CP 437╡RV╓ZTδRè TÜKÖRFΘRαGÉP
árvízt√rï 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-2CP 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-1250Windows-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 852Windows-1250µRVÖZTëRŠ TšK™RFéRŕGP
rvˇztűr‹ tk"rfŁr˘g‚p
Central European Windows encoding is used instead of DOS encoding. The use of ű is correct.
Windows-1250CP 852┴RV═ZT█RŇ T▄KÍRF┌RËG╔P
ß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-printable7-bitASCII=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-8Windows-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.

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:
... 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 a 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.[7]
Examples
Swedish example:Smörgås (Open sandwich)
File encodingSetting in browserResult
MS-DOS 437ISO 8859-1Sm"rg†s
ISO 8859-1Mac RomanSmˆrgÂs
UTF-8ISO 8859-1Smörgås
UTF-8Mac RomanSmörgås

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" (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.

Japanese[edit]

In Japanese, the 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 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 encodingViewed asResultOriginal textNote
Big5GB瓣в眏三國志11威力加強版Lots of blank or undisplayable characters with occasional Chinese characters
Shift-JISGB暥帤壔偗僥僗僩文字化けテスト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-KRGB叼力捞钙胶 抛农聪墨디제이맥스 테크니카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 GB2312, copyright symbol "©" missing in GBK.[8]
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.
A particularly notable 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.[9] 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' but it happens in all operating systems. This appears to be a fault of internal programming of the fonts. In Macintosh / iPhone, the muurdhaja l (dark l) and 'u' combination and its long form both yield wrong shapes.
Some Indic and Indic-derived scripts, most notably Lao, were not officially supported by Windows XP until the release of Vista.[10] However, various sites have made free-to-download fonts.

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 encodingSetting in browserResult
Arabic example: (Universal Declaration of Human Rights)
Browser rendering:الإعلان العالمى لحقوق الإنسان
UTF-8Windows-1252اÙ"إعÙ"ان اÙ"عاÙ"مى Ù"Øقوق اÙ"إنسان
KOI8-RО╩©ь╖ы└ь╔ь╧ы└ь╖ы├ ь╖ы└ь╧ь╖ы└ы┘ы┴ ы└ь╜ы┌ы┬ы┌ ь╖ы└ь╔ы├ьЁь╖ы├
ISO 8859-5яЛПиЇй�иЅиЙй�иЇй� иЇй�иЙиЇй�й�й� й�ий�й�й� иЇй�иЅй�иГиЇй�
CP 866я╗┐╪з┘Д╪е╪╣┘Д╪з┘Ж ╪з┘Д╪╣╪з┘Д┘Е┘Й ┘Д╪н┘В┘И┘В ╪з┘Д╪е┘Ж╪│╪з┘Ж
ISO 8859-6ُ؛؟ظ�ع�ظ�ظ�ع�ظ�ع� ظ�ع�ظ�ظ�ع�ع�ع� ع�ظع�ع�ع� ظ�ع�ظ�ع�ظ�ظ�ع�
ISO 8859-2اŮ�ŘĽŘšŮ�اŮ� اŮ�ؚاŮ�Ů�Ů� Ů�ŘŮ�Ů�Ů� اŮ�ŘĽŮ�ساŮ�
Windows-1256Windows-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.