После того, как я попробовал ваш код на другой скрипке: https://dbfiddle.uk/?rdbms=mysql_5.7 Он работал для MySQL 5.7 и MySQL 5.6 и для MariaDB 10.3, но вы заметили, что он не работал для MySQL 8.0.
Я изменил ваш код для CREATE TABLE
на этот:
CREATE TABLE test (
name VARCHAR(100),
INDEX name_index (name)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
И теперь все в порядке :) DEMO Надежда это помогает. Приветствия!
Для получения дополнительной информации проверьте документацию здесь:
https://dev.mysql.com/doc/refman/5.7/en/charset.html https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html
ОБНОВЛЕНИЕ
Первое решение не работает, потому что u = ü В этом случае используйте это:
CREATE TABLE test (
name VARCHAR(100),
INDEX name_index (name)
) CHARACTER SET gb18030 COLLATE gb18030_chinese_ci;
Новый DEMO
ОБНОВЛЕНИЕ 2
Ну, если это так: «Набор символов должен быть utf8mb4» :), то, не меняя ничего, вы можете попробовать этот запрос:
SELECT name from test
where hex(name) like concat('%',hex('ü'),'%')
Вот DEMO в новой скрипке, где вы просили объяснения. Приветствия.