Параметры сопоставления MySQL не работают, как указано в документации

Я пытаюсь заставить мою таблицу MySQL вести себя как таблица utf8 в примере 2 с этой страницы Справочник по MySQL:

CREATE TABLE germanutf8 (c CHAR(10)) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
INSERT INTO germanutf8 VALUES ('Bar'), ('Bär');
SELECT * FROM germanutf8 WHERE c = 'Bär';

Согласно примеру это должно дать:

+------+
| c    |
+------+
| Bar  |
| Bär  |
+------+

Но все, что я получаю, это просто "Bär". Я делаю что-то неправильно? Следует ли мне изменить свои настройки?

Я пробовал это в MySQL 5.0.45 в Mac OS X и в 5.0.51a в Red Hat.

Обновлено: я попытался установить SET NAMES 'utf8', но это все равно дает тот же результат. После этого мои переменные

+--------------------------+---------------------------------------------------------------------+
| Variable_name            | Value                                                               |
+--------------------------+---------------------------------------------------------------------+
| character_set_client     | utf8                                                                | 
| character_set_connection | utf8                                                                | 
| character_set_database   | utf8                                                                | 
| character_set_filesystem | binary                                                              | 
| character_set_results    | utf8                                                                | 
| character_set_server     | latin1                                                              | 
| character_set_system     | utf8                                                                | 
| character_sets_dir       | /usr/local/mysql-5.0.45-osx10.4-powerpc-64bit/share/mysql/charsets/ | 
+--------------------------+---------------------------------------------------------------------+
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
0
342
1

Ответы 1

Вы получали какие-либо предупреждения о INSERT?

Вы уверены, что ваш MySQL-клиент правильно интерпретирует то, что вы вводите? Например. Если вы подключаетесь к серверу по SSH и запускаете mysql из командной строки, установлен ли кодировка оболочки и клиентская кодировка mysql на UTF-8?

Вы пробовали бегать

SET NAMES 'utf8'

перед выполнением этих запросов?

Другие вопросы по теме