C# MySql проблема с UTF8
От: alexparser  
Дата: 03.02.11 08:14
Оценка:
Доброго дня коллеги!

Вот уж не думал что тут будут проблемы, однако разобраться не смог и прошу помощи.
Приложение должно работать с базой с текстовой инфо в UTF8 формате.
Однако, вместо русских букв при чтении получаю "????????".
Также пробовал писать/читать при помощи EMS SQL Manager, тот же результат.
Сервер настроен вроде верно:


Возможно при записи в базу нужно конвертировать тест из винформ в utf8?

Подскажите в какую сторону рыть...

Спасибки!
c# mysql проблема с utf8
Re: C# MySql проблема с UTF8
От: Аноним  
Дата: 04.02.11 05:34
Оценка:
Здравствуйте, alexparser, Вы писали:

A>

A>Спасибки!


посмотри поле Collation в запросе show table status
Re: C# MySql проблема с UTF8
От: Nonmanual Worker  
Дата: 07.02.11 04:15
Оценка:
Здравствуйте, alexparser, Вы писали:

A>Доброго дня коллеги!


A>Вот уж не думал что тут будут проблемы, однако разобраться не смог и прошу помощи.

A>Приложение должно работать с базой с текстовой инфо в UTF8 формате.
A>Однако, вместо русских букв при чтении получаю "????????".
Вопросики появляются когда сервер не может преобразовать строки с кодировки

Проблема в том что сервер не может преобразовать строки в чарсете что идут на вход к чарсету что указан полям таблицы.
Возможно:
1) В софте где-то выставляется set names что-то типа 'set names latin1'
2) Вы поставляете данные в неверной кодировке
3) У полей ваших таблиц стоит например latin1 а не utf8 или cp1251
4) Миграция с версии 4 криво была выполнена

A>Также пробовал писать/читать при помощи EMS SQL Manager, тот же результат.

На всякий случай в SQL Manager поставьте значение Client Charset равное 'utf8' в Database Registration Info (хотя и при значени DEFAULT должно быть все в порядке).

A>Сервер настроен вроде верно:

Да, верно.
Re: C# MySql проблема с UTF8 - решение
От: alexparser  
Дата: 07.02.11 09:16
Оценка:
Решение найдено, проблема была в том что соединение с сервером происходило через ByteFX.Data.MySqlClient.MySqlConnection();
Вот эта самая ByteFX.Data и глючила с юникодом.

Решение — исключить компонент ByteFX.Data.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.