![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Русский язык в InterBase [D7, IB6.x]
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)
Работаю давно, все нормально. Что я неправильно делаю ?