SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 28.08.2009 17:46:54

IGV
Участник
Зарегистрирован: 27.08.2009
Сообщений: 17

проблема с русскими буквами Subsonic 3.0

Использую ORM Subsonic 3.0.0.3, база данных MySQL 5.1
При сохранении любой строки с русскими буквами сохраняются знаки вопросов.
Если вписать через менеджер(dbForge Studio) руками русские буквы, то считываются русские буквы нормально и без ошибок.
Сохранение выглядит вот так:


        public static void AddAddress(Address address)
        {
            var add = new location
                        {
                            name = address.Name,
                            nickname = address.NickName,
                            note = address.Note
                        };
            add.Save();
        }
 

Кодировку пробовал использовать cp1251 и utf8.
Используя менеджер dbForgeStudio путем вызова меню изменить базу данных, менял кодировку, а затем проверил все таблицы и поля, чтобы везде была одинаковая кодировка. С этим всё нормально.

Как решить эту проблему?

Неактивен

 

#2 28.08.2009 18:32:18

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: проблема с русскими буквами Subsonic 3.0

Нужно объяснить ORM Subsonic, что она работает с базой на русском языке. Она должна
после подключения сообщить серверу кодировку, в которой она сохраняет данные:
SET NAMES cp1251;

Если ORM невнятная или разработана только для людей, говорящих в семибитной кодировке,
можете попробовать добавить параметр сервера init-connect = "SET NAMES cp1251" и
перезапустить сервер. ВНИМАНИЕ! Это сделает все подключения в cp1251, что может плохо
отразиться на других клиентах!

Неактивен

 

#3 03.09.2009 20:16:53

IGV
Участник
Зарегистрирован: 27.08.2009
Сообщений: 17

Re: проблема с русскими буквами Subsonic 3.0

не помогло (((

Неактивен

 

#4 03.09.2009 20:29:57

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: проблема с русскими буквами Subsonic 3.0

Попробуйте включить лог запросов и посмотреть, какие запросы приходят в MySQL.
Если сабсоник сам неудачно преобразует данные, то со стороны MySQL уже ничего
не сделаешь.

Неактивен

 

#5 03.09.2009 21:17:59

IGV
Участник
Зарегистрирован: 27.08.2009
Сообщений: 17

Re: проблема с русскими буквами Subsonic 3.0

Ура! Я решил проблему.
Оказывается строку

init-connect=SET NAMES cp1251

Нужно писать без кавычек.

Отредактированно IGV (03.09.2009 21:32:10)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson