MySQL: Descobrindo o collation e o charset de uma tabela ou banco de dados
Um Charset (character set) é um conjunto de símbolos e codificações. Um Collation é um conjunto de regras para comparar caracteres em um conjunto de caracteres (charset).
Exemplos de Charset: latin1, utf8, ascii, binary, geostd8 (mysql> SHOW CHARACTER SET)
Exemplos de Collation: latin1_swedish_ci, utf8_general_ci, ascii_general_ci, binary, geostd8_general_ci (mysql> SHOW COLLATION)
O comando abaixo mostra o Collation de todas as colunas de uma tabela.
Comando: mysql> SHOW FULL COLUMNS FROM nome_da_tabela; Exemplo: mysql> SHOW FULL COLUMNS FROM noticias; Resultado: +--------------------+--------------+-------------------+------+-----+ | Field | Type | Collation | Null | Key | +--------------------+--------------+-------------------+------+-----+ | id_noticia | int(11) | latin1_swedish_ci | NO | PRI | | titulo_noticia | varchar(255) | latin1_swedish_ci | NO | | | descricao_noticia | text | latin1_swedish_ci | YES | | | data_noticia | date | latin1_swedish_ci | NO | | | ativo_noticia | int(1) | latin1_swedish_ci | NO | | +--------------------+--------------+-------------------+------+-----+ |
Para exibir o Charset e o Collation de um banco de dados específico, use o comando abaixo:
USE nome_do_banco_de_dados; show variables like "character_set_database"; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | character_set_database | utf8 | +------------------------+-------+ -- ou show variables like "collation_database"; +--------------------+-----------------+ | Variable_name | Value | +--------------------+-----------------+ | collation_database | utf8_unicode_ci | +--------------------+-----------------+ |
O comando abaixo pode ser utilizado para saber o Charset e o Collation de todas tabelas do servidor:
SELECT SCHEMA_NAME 'database', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA; |