Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Русский язык в InterBase [D7, IB6.x]


Страницы:   1 2

a123 ©   (2003-03-05 18:54:00) 

C IB столкнулся недавно, по необходимости, и сразу проблема!!!
Что надо сделать чтобы в таблице запоминались слова написаные на русском.Подскажите, пожалуйста. Бьюсь уже второй день :-(


Johnmen   (2003-03-07 10:43:00) [1]

>Anatoly Podgoretsky © (07.03.03 10:32)

Делал ! И не только это, а еще и полную кучу изворотов...
А вот unregister/register действительно помогло !!!
Хотя я придерживаюсь мнения, что никаких кодировок вообще не надо определять. Всегда делал none и проблем не было. А тут просто решил побаловаться с 3 диал-ом...


Anatoly Podgoretsky   (2003-03-07 10:32:00) [2]

Johnmen © (06.03.03 23:58)
Может ты это не сделал в консоли SET NAMES WIN1251?


myor   (2003-03-07 10:26:00) [3]

интересный вариант unregister/register. обязательно попробую.


Johnmen   (2003-03-06 23:58:00) [4]

>zacho © (06.03.03 22:10)

Согласен, но привычка сильнее. Хотя и IBExpert тоже использую.


zacho   (2003-03-06 22:10:00) [5]


> Вот это уже интересно ! Получается, что баг в IBConsole...

Еще одна причина не пользоваться консолью :-)


Johnmen   (2003-03-06 21:37:00) [6]

>serg_ (06.03.03 21:21)

Вот это уже интересно ! Получается, что баг в IBConsole...
Благодарю за помощь.


serg_   (2003-03-06 21:21:00) [7]

Да, есть такая проблема. Я ее решил так:
создаю базу с DEFAULT CHARACTER SET WIN1251
создаю таблицы, пробую заполнять русскими буквами - не получается!
Делаю Unregister базы, затем Register и выбираю при этом WIN1251.
ВСЕ РАБОТАЕТ!!!


zacho   (2003-03-06 13:03:00) [8]


> Johnmen © (06.03.03 12:47)

Только что попробовал:
SET SQL DIALECT 3;

SET NAMES WIN1251;

CREATE DATABASE "LOCALHOST:C:\Test.gdb"
USER "SYSDBA" PASSWORD "1"
PAGE_SIZE 4096
DEFAULT CHARACTER SET WIN1251;

CREATE TABLE "TeSt2" (
"Ttttdddeee" VARCHAR(30)
);

При попытке сделать
INSERT INTO "TeSt2" ("Ttttdddeee") VALUES ("Вася")
все нормально !
SELECT, UPDATE и т.д. - тоже Ok !
Правда, IBConsole у меня нет, все это делал в IBExpert.
Так что у тебя похоже имеет место быть баг в IBConsole или в FB.
А на другой сборке FB или из чего-нибудь более другого, чем IBConsole, не пробовал ?


Johnmen   (2003-03-06 12:47:00) [9]

>zacho © (06.03.03 11:53)
>А какие проблемы должны быть-то ?

Проблемы недолжны быть ...:)))
Тогда что здесь не так ? (FB)
SET SQL DIALECT 3;
CREATE DATABASE "..." PAGE_SIZE 4096 DEFAULT CHARACTER SET WIN1251;
CREATE TABLE "T1"
( "C1" VARCHAR(12) CHARACTER SET WIN1251,
"C2" VARCHAR(12) CHARACTER SET WIN1251 COLLATE PXW_CYRL);

При попытке в IBConsole сделать
INSERT INTO "T1" ("C1","C2") VALUES ("Вася","Петя");
возникает известная ошибка...
Может я туплю, может не догоняю, но ошибка имеет место быть...


a123   (2003-03-06 12:16:00) [10]

Да, ошибка при попытке запомнить такую запись
или отобразить таблицу с русскими символами:
Project Aflat.exe raised exception EIInterBaseError with message "arithmetic exception, numeric overflow? or string truncation
Cannot transliterate charecter between charecter sets"/ Proces stopped/ Use Step or Run to continue.


valery   (2003-03-06 12:16:00) [11]

Если не указывать кодировку при создании/подключении, то будут проблемы с сортировкой по строковым полям с кириллицей

Запросы типа
select * from acards order by address
будут возвращать некорректно отсортированный набор данных

Именно из этих соображений кодировку стоит указывать всегда


zacho   (2003-03-06 11:53:00) [12]


> Johnmen © (06.03.03 11:13)
> А как делаешь - сиё мне неведомо...

Обычно :-) А какие проблемы должны быть-то ? Правда могу сказать, что по русски не таблицы, не поля обзывать не пробовал, может проблемы в этом случае возникают ? Или в версии сервера дело ? У меня Yaffil SS 854

> a123 © (06.03.03 11:38)

Почитай все-таки http://www.ibase.ru/devinfo/ibrusfaq.htm
И как именно не работало-то? Ошибку выдавало или что?


Johnmen   (2003-03-06 11:52:00) [13]

И я тоже никогда и нигде не указывал, и все замечательно...
А подробности см. в ссылке zacho © (06.03.03 10:06)


a123   (2003-03-06 11:40:00) [14]

тоесть я нигде, нигде не указывал win1251...


a123   (2003-03-06 11:38:00) [15]

Ура!!!! Заработало!!! :-)
Всем большое спасибо!

В моем случае сработал вариант:
"myor © (06.03.03 11:19)
указывал при создании бд win1251- не срабатывало.
указал none- заработало"

Но как это объяснить?....:-)


a123   (2003-03-06 11:22:00) [16]

"указал none- заработало."
Это интересно...


myor   (2003-03-06 11:19:00) [17]

указывал при создании бд win1251- не срабатывало.
указал none- заработало.


Johnmen   (2003-03-06 11:13:00) [18]

>zacho © (06.03.03 11:02)
>Работаю давно, все нормально. Что я неправильно делаю ?

Все правильно делаешь, если все нормально :)
А как делаешь - сиё мне неведомо...


Max Zyuzin   (2003-03-06 11:13:00) [19]

>Johnmen © (06.03.03 10:55)
Ты знаешь, я тоже работаю, и проблем пока не наблюдаю... давай менятся впечатлениями :)))


zacho   (2003-03-06 11:02:00) [20]


> Johnmen © (06.03.03 10:55)

Работаю давно, все нормально. Что я неправильно делаю ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо