Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> odbc + MySql 5. Кодировка сбивается. В БД стоит utf8 
:(
    Опции темы
Arks
Дата 21.3.2008, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 7.5.2006
Где: Барнаул

Репутация: нет
Всего: нет



В БД mySql 5 везде установлена utf8. Исходные файлы программы тоже в utf8. IDE - SharpDevelop.
С помощью odbc пытаюсь данные получать. Получаю либо строку из пробелов и вопросов, если не указываю кодировку в connection string или через запрос "SET NAMES 'utf8'".
Если делаю одно из этих двух вариантов, либо оба сразу, то получаю "кракозябры".
В msdn не нашёл никаких других способов устанавливать кодировку. В MySql проверял, все переменные ответсвенные за кодировку стоят в utf8.
Вот собственно код программы:
Код

private void EstablishConnection()
        {
            string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +
                    "SERVER=localhost;" +
                    "DATABASE=building;" +
                    "UID=root;" +
                    "PASSWORD=arksoem;" +
                    "CHARSET=utf8;" +
                    "OPTION=6";
            MyConnection = new OdbcConnection(MyConString);//"DNS=myodbc");
            MyConnection.Open();
            OdbcCommand com = new OdbcCommand("SELECT name FROM building_type",MyConnection);
    //        OdbcCommand com = new OdbcCommand("SET NAMES \'utf8\'",MyConnection);
    //        com.ExecuteNonQuery();
    //        string MyComString = "SELECT name FROM building_type";
    //        com.CommandText = MyComString;
            OdbcDataReader dr = com.ExecuteReader();
            textBox1.Text = "My string. Строка этакая на utf8.";
            listBox1.BeginUpdate();
            while(dr.Read())
            {
                string str = dr.GetString(0);
                listBox1.Items.Add(str);
            }
            listBox1.EndUpdate();
            MyConnection.Close();
        }

Закоментированные строки - это собественно и есть второй вариант с использованием "SET NAMES 'utf8'".
Очень надеюсь на помощь, излазил весь инет зачитал различных документаций до мазолей на глазах уже...
PM MAIL ICQ Skype MSN   Вверх
charodej
Дата 21.7.2008, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 26.3.2008
Где: Тула

Репутация: нет
Всего: нет



Возникла такая же проблема, не отображаются некоторые специфические символы национальных алфавитов, вместо них либо ???? , либо "кракозябры", мне кажется, что проблема в драйвере, который не способен корректно обрабатывать эти символы, пробывал        mysql odbc connector  3.51,  mysql odbc connector  5.1, mysql connector net , каждый раз отображаются разные "кракозябры", если кто то знает как обойти эту проблему, помогите...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0421 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.