проблема с русскими буквами
проблема с русскими буквами
Добрый день!
есть:
несколько пользователей.
всем отдавалась одна и та же база. При создании указывалась WIN1251. Пользователи только добавляют записи в таблицы с помощью одно и той же прог-мы (хотя, кто его знает).
сейчас
на одной из баз не выполняется селект по русским буквам со стандартным сообщением "Cannot transliterate character between character sets".
Поиск данных выполняется той же программой, что и у пользователей для добавления.
Используется FB 1.5, FIB. В программе при коннекте WIN1251 указывается. В Эксперте в свойствах базы указан charset и collate WIN1251.
Что может быть?
Спасибо
есть:
несколько пользователей.
всем отдавалась одна и та же база. При создании указывалась WIN1251. Пользователи только добавляют записи в таблицы с помощью одно и той же прог-мы (хотя, кто его знает).
сейчас
на одной из баз не выполняется селект по русским буквам со стандартным сообщением "Cannot transliterate character between character sets".
Поиск данных выполняется той же программой, что и у пользователей для добавления.
Используется FB 1.5, FIB. В программе при коннекте WIN1251 указывается. В Эксперте в свойствах базы указан charset и collate WIN1251.
Что может быть?
Спасибо
Re: проблема с русскими буквами
настройки системы разные?
в твоей программе кодировка задаётся?
в твоей программе кодировка задаётся?
Re: проблема с русскими буквами
да, конечно. я же написал "в программе при коннекте WIN1251 указывается".
так
......
DM->pFIBDb->Connected=false;
DM->pFIBDb->ConnectParams->CharSet="WIN1251";
DM->pFIBDb->ConnectParams->Password=frmSetConnParam->PasswordE->Text;
DM->pFIBDb->ConnectParams->UserName=frmSetConnParam->UserNameE->Text;
.....
настройки системы?
а какие? я соединяюсь и использую FIB - там , как я понимаю, достаточно написанного выше.
кроме того, я сейчас проверяю обе базы на ОДНОЙ своей машине и получаю разные результаты.(т.е., по одной получаю результат, а по другой - ошибку).
получается, однозначно, что где- то в содежимом базы собака порылась
так
......
DM->pFIBDb->Connected=false;
DM->pFIBDb->ConnectParams->CharSet="WIN1251";
DM->pFIBDb->ConnectParams->Password=frmSetConnParam->PasswordE->Text;
DM->pFIBDb->ConnectParams->UserName=frmSetConnParam->UserNameE->Text;
.....
настройки системы?
а какие? я соединяюсь и использую FIB - там , как я понимаю, достаточно написанного выше.
кроме того, я сейчас проверяю обе базы на ОДНОЙ своей машине и получаю разные результаты.(т.е., по одной получаю результат, а по другой - ошибку).
получается, однозначно, что где- то в содежимом базы собака порылась
Re: проблема с русскими буквами
есть вероятность, что где-то данные занесли без указания чарсета.
подключитесь в none, посмотрите на эти данные.
подключитесь в none, посмотрите на эти данные.
при чем тут эксперт? Кроме того, "в свойствах базы" ни в эксперте ни в базе никакого collate нет.В Эксперте в свойствах базы указан charset и collate WIN1251.
Re: проблема с русскими буквами
вставить скрин из эксперта не получилось.
но, в астере таблицы, на закладке FIELDS в строке для нужных колонок в графах CHARSET и COLLATE указано WIN1251
но, в астере таблицы, на закладке FIELDS в строке для нужных колонок в графах CHARSET и COLLATE указано WIN1251
Re: проблема с русскими буквами
подключился в эксперте к базе с charset=none .kdv писал(а):есть вероятность, что где-то данные занесли без указания чарсета.
подключитесь в none, посмотрите на эти данные.
при чем тут эксперт? Кроме того, "в свойствах базы" ни в эксперте ни в базе никакого collate нет.В Эксперте в свойствах базы указан charset и collate WIN1251.
открыл таблицу - в этих полях все равно видны русские буквы. И то это значит? я ожидал, что будут кракозяблики.
что нужно сделать, чтобы базу привести в "нормальное" (как во всех подобных базах) состояние ?
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: проблема с русскими буквами
Это значит, что кое-кто не читал "FAQ по работе с русскими буквами"...buratino писал(а):И то это значит? я ожидал, что будут кракозяблики.
Re: проблема с русскими буквами
нда, исчерпывающеDimitry Sibiryakov писал(а):Это значит, что кое-кто не читал "FAQ по работе с русскими буквами"...buratino писал(а):И то это значит? я ожидал, что будут кракозяблики.
понятно, что не всегда хочется отвлекаться и рассказывать прописные истины. но это для Вас.
Если Вы имеете в виду FAQ-раздел форума, то я в него войти не могу запрашивается пароль.
Если FAQ на ibase.ru (http://ibase.ru/ibfaq.htm#interclient) , то я его читал.
И потом. Как объяснить, что добавление идет в одну базу (созданную один раз и размноженную по объектам) с помощью одной программы (уверен на 98%).
Т.е., даже если Вы напишите, что неправильные параметры при коннекте или при вводе данных, то почему они на одних объектах ведут себя правильно, а на других нет.
а результат разный.
Re: проблема с русскими буквами
странно, проверю, но имелся в видуЕсли Вы имеете в виду FAQ-раздел форума, то я в него войти не могу запрашивается пароль.
www.ibase.ru/devinfo/ibrusfaq.htm
и вообще имелось в виду что КТО-ТО нахреначил данных БЕЗ кодировки win1251 в Вашу базу, только и всего. А раз эти данные не в win1251, то значит при подключении с такой кодировкой сервер выдает ошибку транслитерации данных.
я не знаю, при чем тут Java-клиентЕсли FAQ на ibase.ru (http://ibase.ru/ibfaq.htm#interclient) , то я его читал.
это другое. это кодировка и коллэйт столбца.на закладке FIELDS в строке для нужных колонок в графах CHARSET и COLLATE указано WIN1251
потому что в одной базе ввели данные с кривой кодировкой, а в другой - с правильной.Т.е., даже если Вы напишите, что неправильные параметры при коннекте или при вводе данных, то почему они на одних объектах ведут себя правильно, а на других нет.
Re: проблема с русскими буквами
кстати, чудеса. меня самого просит ввести пароль, даже под админской учеткой. Пытался исправить, но пока не получается.Если Вы имеете в виду FAQ-раздел форума, то я в него войти не могу запрашивается пароль.
Если ввести тот же пароль, что и при логине, то вроде туда заходит.
upd. гм, случайно установился пароль на доступ к разделу FAQ. Пароль снят, все работает.
Re: проблема с русскими буквами
Спасибо.kdv писал(а):кстати, чудеса. меня самого просит ввести пароль, даже под админской учеткой. Пытался исправить, но пока не получается.Если Вы имеете в виду FAQ-раздел форума, то я в него войти не могу запрашивается пароль.
Если ввести тот же пароль, что и при логине, то вроде туда заходит.
upd. гм, случайно установился пароль на доступ к разделу FAQ. Пароль снят, все работает.
В FAQ зашел , просмотрел. Собственно, явно причину не увидел.
Выше приводил кусок программы - поскольку использую FIBPlus, то единственно, что нужно сделать - установить WIN1251 ДО подключения к БД. Это у меня есть.
Т.е., остается предположение, что этот юзер добавил новые данные (изменил старые) не с помощью предлагаемой программы, а сторонней.
Вышел из положения так - выгрузил данные из "плохой" базы (выгрузка метаданных в IBExpert-e), затем выполнил скрипт и загрузил в "хорошую" базу.
Всем спасибо.
Re: проблема с русскими буквами
если он оперирует IBExpert-ом, то он мог и в нем не установить win1251 для коннекта, и таким образом занести данные без кодировки.Т.е., остается предположение, что этот юзер добавил новые данные (изменил старые) не с помощью предлагаемой программы, а сторонней.
Вышел из положения так - выгрузил данные из "плохой" базы (выгрузка метаданных в IBExpert-e), затем выполнил скрипт и загрузил в "хорошую" базу.