Как преобразовать latin1_swedish_ci в utf8-general-ci - PullRequest
0 голосов
/ 18 октября 2019

У меня есть поле с сопоставлением latin1_swedish_ci, и вставленные данные видны мне как набор знаков вопроса ????????.

enter image description here

Как преобразовать существующие (??) данные вопросительного знака в исходные данные?

Примечание: (???) данные вопросительного знака в таблице фактически в данных на языке гуджарати.

Я использую код-igniter, mysql и phpmyadmin

Ответы [ 3 ]

0 голосов
/ 18 октября 2019

Попробуйте изменить пример кода набора символов в столбце ниже.

ALTER TABLE `your_table` 
CHANGE COLUMN `name` `name` VARCHAR(45) 
CHARACTER SET 'utf8' NULL DEFAULT NULL ;

Примечание:
Когда записи уже есть ??????? в таблице данные должны быть повторно вставлены снова.

Существующие данные не изменятся при изменении параметров сортировки.

0 голосов
/ 18 октября 2019

Скорее всего, вы можете изменить параметры сортировки на странице phpmyadmin

Выполните следующие действия

1) Выберите базу данных

2) Перейдите в раздел Операции вmenu

3) Прокрутите вниз до дна, и вы увидите, что сортировка

Измените сортировку и нажмите GO

enter image description here

0 голосов
/ 18 октября 2019

Причина

Кодировка по умолчанию для входящих подключений установлена ​​неправильно. DEFAULT CHARSET будет возвращаться как utf8, однако символьный_сервер будет чем-то другим. В приведенном выше примере символьный_сервер был задан как latin1.

Разрешение

Установить набор символов по умолчанию = utf8, как подробно описано в Настройка кодировки символов базы данных.

...