Я собираюсь изменить кодировку для базы данных с latin1 на utf8mb4.
Из-за ограничений конфиденциальности я не знаю, что содержит конвертируемая база данных. Я обеспокоен тем, что при работе ниже SQL существующие данные могут быть изменены.
ALTER TABLE table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Однако строка подключения из приложения grails содержит useUnicode = true & CharacterEncoding = UTF-8 , означает ли это, что хотя latin1_swedish_ci используется для столбца, фактическое значение, которое было сохранено, равно UTF- 8 закодировано?
И так как это значение кодируется в UTF-8, нет риска того, что данные будут затронуты изменением с latin1 на utf8mb4?
+--------------------------+-------------------+
| Variable_name | Value |
+--------------------------+-------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+--------------------------+-------------------+```