Неверное строковое значение: \ '\\ xC3 \' для столбца \ 'description \' в строке 1 в mySql - PullRequest
0 голосов
/ 16 апреля 2020

Здесь, в моей таблице, одно имя столбца равно description.

Согласно моей ошибке, я пробовал много решений из SO , чтобы изменить тип сортировки.

Я пробовал ниже коллекции

1) utf8mb4_unicode_ci
2) utf8_general_ci

Здесь ПОКАЗАТЬ ПОЛНЫЕ КОЛОННЫ ИЗ your_table;

enter image description here

Может кто-нибудь знать, каково правильное сопоставление для \'\\xC3\' этого типа строки?

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Для поддержки полного Unicode UTF-8, как, например, смайликов, в вашем случае это персонаж À вы должны использовать utf8mb4, а utf8mb4_unicode_ci utf8 устарела.

Вы можете найти полное объяснение на https://mathiasbynens.be/notes/mysql-utf8mb4.

Вы можете проверить текущие параметры сортировки вашей таблицы следующим образом:

SHOW FULL COLUMNS FROM your_table;

Я предполагаю, что ваш столбец описания имеет тип TEXT, в противном случае вам может потребоваться изменить тип.

Чтобы изменить набор символов таблицы по умолчанию, вы можете использовать:

ALTER TABLE your_table CONVERT TO CHARACTER SET utf8mb4;

Но это не меняет параметры сортировки вашего столбца. Чтобы изменить параметры сортировки столбца, вы должны использовать:

ALTER TABLE your_table MODIFY description TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
1 голос
/ 16 апреля 2020

Попробуйте сначала

ALTER TABLE your_database_name.your_table CONVERT TO CHARACTER SET utf8

ИЛИ Если вышеуказанное решение не сработает, после подключения к базе данных выполните следующие действия

SET NAMES 'utf8';
SET CHARACTER SET utf8;
...