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.
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
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.
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.
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.
Add your own comment.