Every database has a database character set and a database
collation. The CREATE DATABASE and
ALTER DATABASE statements have optional
clauses for specifying the database character set and
collation:
CREATE DATABASEdb_name[[DEFAULT] CHARACTER SETcharset_name] [[DEFAULT] COLLATEcollation_name] ALTER DATABASEdb_name[[DEFAULT] CHARACTER SETcharset_name] [[DEFAULT] COLLATEcollation_name]
The keyword SCHEMA can be used instead of
DATABASE.
All database options are stored in a text file named
db.opt that can be found in the database
directory.
The CHARACTER SET and
COLLATE clauses make it possible to create
databases with different character sets and collations on the
same MySQL server.
Example:
CREATE DATABASE db_name CHARACTER SET latin1 COLLATE latin1_swedish_ci;
MySQL chooses the database character set and database collation in the following manner:
If both CHARACTER SET
and
XCOLLATE
were specified, then character set
YX and collation
Y.
If CHARACTER SET
was specified
without XCOLLATE, then character set
X and its default collation.
If COLLATE
was specified without YCHARACTER SET,
then the character set associated with
Y and collation
Y.
Otherwise, the server character set and server collation.
The database character set and collation are used as default
values if the table character set and collation are not
specified in CREATE TABLE statements. The
database character set also is used by LOAD DATA
INFILE. The character set and collation have no
other purposes.
The character set and collation for the default database can
be determined from the values of the
character_set_database and
collation_database system variables. The
server sets these variables whenever the default database
changes. If there is no default database, the variables have
the same value as the corresponding server-level system
variables, character_set_server and
collation_server.


User Comments
character_set_database also affects the data which is loaded into table using LOAD DATA command.
To discover the character set and collation of a database, just
USE your_database_of_interest;
and type,
show variables like "character_set_database";
show variables like "collation_database";
Easy when you know how eh?
To show the current character set use this query:
SHOW CREATE DATABASE `DB_NAME`
Add your own comment.