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;

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *