Давненько не брал я в руки шашек…
На машине с Windows 7 имеется MySQL server 5.5, БД с таблицами в utf8_unicode_ci и Toad for MySQL 6.0.1.
При выполнении запросов со вставкой кириллицы из жабы, все русские буквы заменяются на '?????'.
При ставки кириллицы из консоли, и выводе в консоли — все хорошо.
При вставке кириллицы из консоли, и выводе через жабу или приложение на php — непонятные иероглифы.
SHOW GLOBAL VARIABLES LIKE 'char%';
говорит:
| character_set_client | latin1
|
| character_set_connection | latin1
|
| character_set_database | latin1
|
| character_set_filesystem | binary
|
| character_set_results | latin1
|
| character_set_server | latin1
|
| character_set_system | utf8
Собственно вопрос, как это безобразие исправить?
UPD: После смены latin1 на utf8 в настройках сервера (my.ini), получилась такая картина:
| 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
При этом жаба вставляет кириллицу, получает кириллицу в результатах запроса, в приложении теперь тоже все ок, а вот в консоли выходят только иероглифы (SET NAMES не спасает). При попытке выполнить апдейт с кириллицей из консоли получаю такой результат:
mysql> update table set var = 'абв' where id=1;
ERROR 1366 (HY000): Incorrect string value: '\xA0\xA1\xA2' for column 'var'
at row 1
В общем то без консоли обойдусь, но спортивный интерес еще не прошел. Может кто в курсе как сделать что бы кириллица работала везде?