Как мне узнать, что такое набор символов базы данных / таблицы / столбца MySQL? - PullRequest
592 голосов
/ 26 июня 2009

Что такое (по умолчанию) кодировка для:

  • База данных MySQL

  • Таблица MySQL

  • MySQL столбец

Ответы [ 13 ]

17 голосов
/ 11 июня 2015

Для баз данных :

SELECT SCHEMA_NAME 'database', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA;

Пример вывода:

mysql> SELECT SCHEMA_NAME 'database', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA;
+----------------------------+---------+--------------------+
| database                   | charset | collation          |
+----------------------------+---------+--------------------+
| information_schema         | utf8    | utf8_general_ci    |
| drupal_demo1               | utf8    | utf8_general_ci    |
| drupal_demo2               | utf8    | utf8_general_ci    |
| drupal_demo3               | utf8    | utf8_general_ci    |
| drupal_demo4               | utf8    | utf8_general_ci    |
| drupal_demo5               | latin1  | latin1_swedish_ci  |

...

+----------------------------+---------+--------------------+
55 rows in set (0.00 sec)

mysql> 
15 голосов
/ 09 апреля 2011

Для баз данных :

SHOW CREATE DATABASE "DB_NAME_HERE";

При создании базы данных (MySQL) набор символов / сопоставление по умолчанию всегда LATIN, вместо этого вы выбрали другой при первоначальном создании базы данных

4 голосов
/ 17 мая 2018

Как многие писали ранее, SHOW FULL COLUMNS должен быть предпочтительным методом для получения информации о столбцах. Чего не хватает, так это способа получить кодировку без непосредственного доступа к таблицам метаданных:

SHOW FULL COLUMNS FROM my_table WHERE Field = 'my_field'
SHOW COLLATION WHERE Collation = 'collation_you_got'
...