Character sets for MySQL databases

For a database

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

For a single table

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

For an individual column

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

Setting the character set

ALTER DATABASE mydatabasename charset=utf8; 

Changing the collation for a singe table

ALTER TABLE tab CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci; 

From here