How do I see what character set a MySQL database / table / column is? How do I see what character set a MySQL database / table / column is? mysql mysql

How do I see what character set a MySQL database / table / column is?


Here's how I'd do it -

For Schemas (or Databases - they are synonyms):

SELECT default_character_set_name FROM information_schema.SCHEMATA WHERE schema_name = "schemaname";

For Tables:

SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,       information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSAWHERE CCSA.collation_name = T.table_collation  AND T.table_schema = "schemaname"  AND T.table_name = "tablename";

For Columns:

SELECT character_set_name FROM information_schema.`COLUMNS` WHERE table_schema = "schemaname"  AND table_name = "tablename"  AND column_name = "columnname";


For columns:

SHOW FULL COLUMNS FROM table_name;


For databases:

USE your_database_name;show variables like "character_set_database";-- or:-- show variables like "collation_database";

Cf. this page. And check out the MySQL manual