Решение состоит в том, чтобы установить переменные соединения для любой кодовой страницы, используемой вашей установкой Windows (не на латиницу 1, как то, что рекомендует множество страниц - кодировка символов cmd.exe не является латиницей 1).
Inв моем случае кодовая страница 850:
mysql> SET NAMES cp850;
Вот пример с подключением, установленным в UTF-8:
mysql> show variables like '%char%';
+--------------------------+---------------------------------+
| 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 | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\xampp\mysql\share\charsets\ |
+--------------------------+---------------------------------+
8 rows in set (0.00 sec)
Это то, что происходит с символами с акцентом:
mysql> select nom from assignatura where nom like '%prob%';
+---------------------------------------+
| nom |
+---------------------------------------+
| Probabilitat i Processos Estocàstics |
| Probabilitat i Processos Estocàstics |
+---------------------------------------+
2 rows in set (0.03 sec)
Обратите внимание на посторонний символ ├
непосредственно перед á
.Кроме того, ударение является неправильным направлением, оно должно быть à
.
После выполнения SET NAMES cp850;
:
mysql> show variables like '%char%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | cp850 |
| character_set_connection | cp850 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | cp850 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\xampp\mysql\share\charsets\ |
+--------------------------+--------------------------------+
8 rows in set (0.00 sec)
Мы, наконец, получаем правильный акцентированный символ:
mysql> select nom from assignatura where nom like '%prob%';
+--------------------------------------+
| nom |
+--------------------------------------+
| Probabilitat i Processos Estocàstics |
| Probabilitat i Processos Estocàstics |
+--------------------------------------+
2 rows in set (0.00 sec)