How do I find out the default server character set in mysql?

User picture User · Sep 8, 2012 · Viewed 11.7k times · Source

Using MySQL on FreeBSD 8.2. How do I find out the default server character set? Is there some command I can run or file I can check?

UPDATE

Actually I want to know how to find both the default server character set and the current server character set.

Answer

eggyal picture eggyal · Sep 8, 2012

As documented under Server Character Set and Collation:

Initially, the server character set and collation depend on the options that you use when you start mysqld. You can use --character-set-server for the character set. Along with it, you can add --collation-server for the collation. If you don't specify a character set, that is the same as saying --character-set-server=latin1.

The default server character set is therefore Windows-1252, which MySQL calls latin1, unless your copy of MySQL has been compiled with some other default.

The manual goes on to say:

The current server character set and collation can be determined from the values of the character_set_server and collation_server system variables. These variables can be changed at runtime.

Therefore, to discover the server character set currently in use:

SHOW VARIABLES LIKE 'character_set_server'