isql вываливается при chcp 65001 и попытке ввода кириллицы в столбец char(1) cset utf8

Таблоид
Дата: 13.05.2012 09:35:42
hi all

В msdn есть список кодовых страниц ("Code Page Identifiers"), которыми можно пользоваться в виндузе.
Число 65001 там указано как необходимое для перехода в utf8.

Делаю в командной строке DOS (проверял на win-2000 sp4 и win-2003 EE sp2, результат одинаковый):
C:\1INSTALL\FIREBIRD\FB25\bin>chcp
Текущая кодовая страница: 866

C:\1INSTALL\FIREBIRD\FB25\bin>chcp 65001
Текущая кодовая страница: 65001

C:\1INSTALL\FIREBIRD\FB25\bin>isql -q -ch utf8
SQL> create database 'tu.fdb'; commit;
SQL> show version;
ISQL Version: WI-V2.5.2.26480 Firebird 2.5
Server version:
Firebird/x86/Windows NT (access method), version "WI-V2.5.2.26480 Firebird 2.5"
Firebird/x86/Windows NT (remote server), version "WI-V2.5.2.26480 Firebird 2.5/XNet (BKUPSERVER)/P12"
Firebird/x86/Windows NT (remote interface), version "WI-V2.5.2.26480 Firebird 2.5/XNet (BKUPSERVER)/P12" on disk structure version 11.2
SQL> create table t (c char(1) character set utf8);
SQL> commit;
SQL> insert into t values('Ы');


C:\1INSTALL\FIREBIRD\FB25\bin>

isql вываливается в DOS, никакого дампа при этом не создаётся, хотя drwatsn32 настроен согласно инструкциям, приведенным тут:
Гаджимурадов Рустам
Дата: 13.05.2012 09:42:25

Таблоид> isql вываливается в DOS

В чем именно это выражается?

P.S. Прямиком к Кальтенбруннеру.

Posted via ActualForum NNTP Server 1.5

Таблоид
Дата: 13.05.2012 09:56:15
Гаджимурадов Рустам
Таблоид> isql вываливается в DOS

В чем именно это выражается?

P.S. Прямиком к Кальтенбруннеру.
Ну, я же говорю: выражается в том, что вместо возврата к подсказке "SQL>" и наличии занесённой строки с буквой "Ы" меня выкидывает в DOS. Таблица остаётся пустой.
ЗЫ. "Кальтенбруннер" - Адриано, что ли ?
Edd.Dragon
Дата: 13.05.2012 10:06:16
В какой дос? Вы вообще в какой операционной системе находитесь и где взяли sqli под ДОС?! 8-о


P.S.: Забудьте о юникоде в консоли под винду.
Таблоид
Дата: 13.05.2012 10:58:42
Edd.Dragon
В какой дос?
в такой, который вылазит вот тут: Пуск / Выполнить / cmd.exe. Называется еще "командной строкой". Снимок экрана в аттаче.
Edd.Dragon
Вы вообще в какой операционной системе находитесь и где взяли sqli под ДОС?!
Вы первое сообщение этого топика прочитали или нет ? Повторяю еще раз: проверял в win-2000 sp4 и win-2003 EE sp2.
Edd.Dragon
P.S.: Забудьте о юникоде в консоли под винду.
Это еще почему ?
Stupid_BOT
Дата: 13.05.2012 11:27:37
> Таблоид

> Edd.Dragon
> P.S.: Забудьте о юникоде в консоли под винду.

> Это еще почему ?

Прими как данность. Сам Мелкософт скромно умалчивает про эту багу. По крайней мере мне на мсдн ничего по вопросу "тихой смерти" консольных приложений при попытке ввода _не_латиницы_ в cp 65001 найти не удалось.

ЗЫ: Проблема не только на WIN 2k, на XP тоже, и падает не только isql. Если UTF8 читать из файла, то падений нет.
Edd.Dragon
Дата: 13.05.2012 11:34:42
Таблоид
Edd.Dragon
В какой дос?
в такой, который вылазит вот тут: Пуск / Выполнить / cmd.exe. Называется еще "командной строкой". Снимок экрана в аттаче.


Это КОНСОЛЬ, КОНСОЛЬ, КОНСОЛЬ, КОНСОЛЬ, КОНСОЛЬ, КОНСОЛЬ, КОНСОЛЬ, КОНСОЛЬ!
А ДОС - это то, что было надцать лет назад.

Или вы и автомобиль называете даблмопедом с крышей?
Таблоид
Дата: 13.05.2012 11:48:07
Edd.Dragon,

да хоть select lpad('', 9000, 'консоль! ') from rdb$database;
Как ни называйте это окно, итог не меняется: ввод символов, отличных от латинницы, в этом режиме невозможен. И приводит к странной тихой смерти isql (а не "sqli", как вы почему-то решили).
Гаджимурадов Рустам
Дата: 13.05.2012 13:54:33

Таблоид> меня выкидывает в DOS.

А, это который MS-DOS. Я подумал зависание или крах какой.
Впрочем, раз вылетел обратно в консоль - значит крах и есть.

Таблоид> ЗЫ. "Кальтенбруннер" - Адриано, что ли ?

Ну да. С веселой подачи ДЕ это за ним закрепится.

P.S. Попробуй под Линуксом, как говорят.

Posted via ActualForum NNTP Server 1.5

Таблоид
Дата: 13.05.2012 14:01:26
Гаджимурадов Рустам
P.S. Попробуй под Линуксом, как говорят.
под линухом в isql никакого кириллического символа ты не введёшь.