btr0001
Дата: 10.07.2012 12:52:43
У меня база данных, сделанная в windows, character set там не задан, но фактически заполнена в WIN1251. Пытаюсь подсоединиться к ней из Linux, utf8. FlameRobin делает это успешно, при соединении указываю WIN1251, кириллица в запросах отображается корректно. Пробую это же сделать из isql. Сперва ввожу SET NAMES WIN1251, потом прописываю CONNECT. Соединение происходит, но кириллица в запросах не отображается, вмето нее идут другие символы. Что я делаю неправильно?
Firebird 2.5, Mandriva 2010.2 x86-64.
kdv
Дата: 10.07.2012 14:00:00
в базе чарсет NONE, коннект в win1251, utf8, да еще и консоль, которая в другом чарсете отображает.
Т.е. вообще все что можно было сделать неправильно, сделал.
btr0001
Дата: 10.07.2012 18:04:14
Спасибо за ответы.
Вот решил упростить задачу. Создал тестовую базу с кодировкой WIN1251, одна таблица с перечнем цветов. База крутится на машине с Mandriva 2010.2 x86-64. Соединяюсь с ней и получаю результат:
[taras@btr bin]$ ./isql
Use CONNECT or CREATE DATABASE to specify a database
SQL> SET NAMES WIN1251;
SQL> connect localhost:/home/taras/test.fdb user sysdba password 9lw4W5jy;
Database: localhost:/home/taras/test.fdb, User: sysdba
SQL> select * from colors;
CODE NAME
============ ==================================================
1 �������
2 ����������
3 �������
4 ������
5 �����
SQL>
Что теперь не так?
kdv
Дата: 10.07.2012 18:36:32
В винде консоль 866, если я правильно помню.
А раньше в линуксах консоль была кои8р.
А по тексту из консоли видно что там utf8.
И т.д.
Собственно, чарсет коннекта должен соответствовать чарсету консоли (если речь про консоль). Даже если у тебя база в 1251, то чарсет коннекта можно указывать utf8. впрочем, в указанных FAQ это написано.
Не написано разве что про консоли.