Давайте проясним одну вещь: набор символов — это не то же самое, что сопоставление. Эти два понятия только тесно связаны.
Наборы символов сообщают программам, обрабатывающим текст, как интерпретировать поток байтов, составляющих текст, и какой символ отображать на экране.
Сопоставления сообщают программам, обрабатывающим текст, как упорядочивать символы для целей сравнения и сортировки. Таким образом, если вы упорядочиваете текстовое поле в РСУБД, то РСУБД может определить порядок записей с помощью сортировки.
utf8mb4 — это набор символов, который использует MySql. Реализация MySql utf8 может представлять символ размером до 3 байтов, а utf8mb4 может представлять символы размером до 4 байтов. Стандарт utf8 использует определение до 4 байтов (utf8, wikipedia), поэтому, строго говоря, , utf8mb4 — это настоящая реализация utf8 в mysql.
Однако utf8mb4 был добавлен относительно недавно (v5.5.3), поэтому его существование до сих пор не так широко известно в сообществе mysql (MySql utf8mb4).
Если вы попытаетесь импортировать данные, используя этот набор символов, в базу данных, которая его не поддерживает, вы получите сообщение об ошибке в своем вопросе.
Сопоставление должно соответствовать кодировке, поэтому, если у вас есть набор символов utf8mb4, используйте также сопоставление utf8mb4. Вам необходимо преобразовать ваши данные в набор символов, который поддерживается вашей целевой системой, и вам необходимо согласовать параметры сортировки с вашей кодировкой.
person
Shadow
schedule
07.10.2015