MySQL выбор кодировки

222
31 декабря 2019, 07:20

Всем привет, написал парсер для телеграм, который парсит информацию о каналах и все сообщения в них. Сначала у меня была кодировка utf8general_ci. Но при парсинге выкидывало ошибку на некоторые символы, и посоветовали использовать более позднюю реализацию utf-8 - utf8mb4_bin.

Но со временем, ошибка стала появляться вновь, посоветуйте другую кодировку,

Ошибка

Illegal mix of collations (utf8mb4_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

Проблемные тексты

Answer 1

Для полной поддержки Unicode Вам нужно нечто вроде:

--- For each database:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
--- For each table:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
--- For each column:
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
--- (Don’t blindly copy-paste this! The exact statement depends on
--- the column type, maximum length, and other properties.
--- The above line is just an example for a `VARCHAR` column.)

В этой статье все неплохо расписано: How to support full Unicode in MySQL databases

Вот SQLfiddle с результатами моделирования.

Важно при вставке указать SET NAMES 'utf8mb4';

А вот SET CHARACTER SET 'utf8mb4'; - указывать не надо

READ ALSO
несколько carousel Bootstrap на странице

несколько carousel Bootstrap на странице

На странице есть 2 слайдера на чистом бутстрапе (без изменения js и прочего)Нужно чтобы оба слайдера перелистывались одновременно

233
Задать значение input.files

Задать значение input.files

Величайшие умы планеты, подскажите пожалуйста как можно задать значение методу files для inputИстория такова, что для загрузки фотографий на тестовый...

189
Разрыв строки при нажатии на Enter

Разрыв строки при нажатии на Enter

Форма работает на Ajax и отправка данных происходит при нажатии на Enter

178
Отправка CrossDomain перед созданием потока

Отправка CrossDomain перед созданием потока

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

145