Documentation Home
MySQL 5.5 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 26.9Mb
PDF (A4) - 26.9Mb
PDF (RPM) - 25.3Mb
HTML Download (TGZ) - 6.3Mb
HTML Download (Zip) - 6.3Mb
HTML Download (RPM) - 5.3Mb
Man Pages (TGZ) - 158.7Kb
Man Pages (Zip) - 262.0Kb
Info (Gzip) - 2.6Mb
Info (Zip) - 2.6Mb
Excerpts from this Manual The Character Set Dialog

The MySQL server supports multiple character sets and it is possible to set a default server character set that is applied to all tables, columns, and databases unless overridden. Use the Character Set dialog to change the default character set of the MySQL server.

Figure 2.28 Character Set

MySQL Server Instance Configuration Wizard: Choose a character set.

  • Standard Character Set: Choose this option if you want to use latin1 as the default server character set. latin1 is used for English and many Western European languages.

  • Best Support For Multilingualism: Choose this option if you want to use utf8 as the default server character set. This is a Unicode character set that can store characters from many different languages.

  • Manual Selected Default Character Set / Collation: Choose this option if you want to pick the server's default character set manually. Choose the desired character set from the provided drop-down list.

User Comments
  Posted by Bruce Attah on March 28, 2006
Tip: Don't accept the defaults. If you're going to enter text data that is written in a Western alphabet, choose UTF-8, but if you're going to be entering mainly Asian or other non-Western text, choose UTF-16.

Here's why: Latin 1 (a.k.a. ISO-8859-1) is officially obsolete as it doesn't include the Euro symbol. Latin 9 (ISO-8859-15) is the replacement (it includes € - the Euro symbol). However, it still doesn't represent certain accented letters common in Slavic names, such as Č (C with a v-shaped hat) and Ł (L with a stroke across it) and Ž (Z with a hat), which someone will almost certainly try to input one day, if you live anywhere in Europe. UTF-8 can represent all those Slavic letters and anything else you throw at it, but it is compact when storing Western text. English language text previously stored as US-ASCII or Latin-1 can be transferred in without conversion, so there's no reason not to, really.

UTF-8 can represent Thai, Chinese, Arabic, Hebrew, and Hindi and Gujerat letters, too, but it is less compact than UTF-16 for representing such text. UTF-16 stores all such letters as two bytes, but UTF-8 encodes them into strings of up to six bytes for each letter.

My suggestion, therefore: Western text = UTF-8, any other text = UTF-16 (unless, perhaps, this would involve you in converting text from something else, such as BIG5 or shift-JIS).

As an aside, Windows prefers two-byte characters, and so do Java and C#, so if you're using those platforms or tools, UTF-16 is the way to go, regardless of what language your text is in.
  Posted by Mahesh Sawaiker on July 28, 2008
Completely agree with user above. I had a page which was using Latin1 and had to display Euro symbol, then to support this it would mean having to rewrite the conversion logic.
Please be very careful with these things and make sure the browser, database and the programming language all use the same encoding.
  Posted by Abhishek Singh on October 4, 2009
For some reason UTF16 did not show up in the choices available. So I went with UTF8. MySQL version 5.1.39. OS: Win XP Professions 2002 SP3.
Sign Up Login You must be logged in to post a comment.