SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » charset win1251 для isql в ubuntu (как правильно указать?)
charset win1251 для isql в ubuntu [сообщение #5758] Thu, 21 November 2024 11:30 Переход к следующему сообщению
sg729 в настоящее время не в онлайне  sg729
Сообщений: 58
Зарегистрирован: June 2022
Member
База данных win1251 лежит на сервере ubuntu, в клиенте windows русские буквы отображаются.
В ubuntu Midnight Commander без проблем рисует русские буквы.

локаль:
Цитата:
root@ubtest:/usr/local/bin# locale -a
C
C.utf8
POSIX
ru_RU.cp1251
ru_RU.utf8
Для продолжения нажмите любую клавишу...

test.sh
Цитата:
/opt/firebird/bin/isql -q -ch WIN1251 -i "./test.sql" -u SYSDBA -p masterkey

test.sql
Цитата:
SET NAMES WIN1251;
CONNECT '127.0.0.1:fdbtest' user 'SYSDBA' password 'masterkey';
SELECT
 CHIEF_NAME
FROM
 V_ORG;
EXIT;

результат:
/index.php/fa/325/0/

В чем моя ошибка?

  • Вложение: 01.png
    (Размер: 1.97KB, Загружено 159 раз)
Re: charset win1251 для isql в ubuntu [сообщение #5759 является ответом на сообщение #5758] Thu, 21 November 2024 14:17 Переход к предыдущему сообщениюПереход к следующему сообщению
basid в настоящее время не в онлайне  basid
Сообщений: 162
Зарегистрирован: June 2022
Географическое положение: Asia/Irkutsk
Senior Member
При работе в ISQL кодировка подключения должна соответствовать кодировке консоли.
Поэтому: isql -q -z -ch UTF8
При проливке скриптов кодировка подключения должна соответствовать кодировке скрипта. Кодировка скрипта, обычно, должна соответствовать умалчиваемой кодировке базы.
Поэтому, в вашем случае: isql ... -ch WIN1251 -i скрипт-в-ansi-кирилице
Re: charset win1251 для isql в ubuntu [сообщение #5760 является ответом на сообщение #5759] Thu, 21 November 2024 15:10 Переход к предыдущему сообщениюПереход к следующему сообщению
sg729 в настоящее время не в онлайне  sg729
Сообщений: 58
Зарегистрирован: June 2022
Member
т.е. в случае выполнения запроса SELECT, значение параметра SET NAMES [character_set] сообщает ISQL-ю не чарсет базы данных, а задает чарсет в который будет преобразован ответ сервера?
Re: charset win1251 для isql в ubuntu [сообщение #5761 является ответом на сообщение #5760] Thu, 21 November 2024 15:20 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 411
Зарегистрирован: August 2022
Senior Member
Чарсет базы ISQL способен получить сам, не дурак. А вот определить кодировку скармливаемого ему скрипта - нет. Надо помогать явным указанием.
Re: charset win1251 для isql в ubuntu [сообщение #5763 является ответом на сообщение #5761] Fri, 22 November 2024 07:43 Переход к предыдущему сообщениюПереход к следующему сообщению
sg729 в настоящее время не в онлайне  sg729
Сообщений: 58
Зарегистрирован: June 2022
Member
SD писал(а) Thu, 21 November 2024 15:20
Чарсет базы ISQL способен получить сам, не дурак. А вот определить кодировку скармливаемого ему скрипта - нет. Надо помогать явным указанием.
Помню где-то на просторах инета попадалась на глаза картинка с умопомрачительной блок-схемой на тему "как определить кодировку текста с крякозябрами". А в чем все-таки сложность? Разве нельзя на уровне файловой системы хранить какой-нибудь атрибут, явно указывающий кодировку файла? Пронумеровать их всех целыми числами, да и дело в шляпе. Много места не займет.
Re: charset win1251 для isql в ubuntu [сообщение #5764 является ответом на сообщение #5763] Fri, 22 November 2024 08:29 Переход к предыдущему сообщениюПереход к следующему сообщению
pastor в настоящее время не в онлайне  pastor
Сообщений: 83
Зарегистрирован: June 2022
Географическое положение: Калуга
Member
sg729 писал(а) Fri, 22 November 2024 07:43
SD писал(а) Thu, 21 November 2024 15:20
Чарсет базы ISQL способен получить сам, не дурак. А вот определить кодировку скармливаемого ему скрипта - нет. Надо помогать явным указанием.
Помню где-то на просторах инета попадалась на глаза картинка с умопомрачительной блок-схемой на тему "как определить кодировку текста с крякозябрами". А в чем все-таки сложность? Разве нельзя на уровне файловой системы хранить какой-нибудь атрибут, явно указывающий кодировку файла? Пронумеровать их всех целыми числами, да и дело в шляпе. Много места не займет.
всех типов файловых систем для всех операционных систем?
фигня вопрос

займись Smile
Re: charset win1251 для isql в ubuntu [сообщение #5765 является ответом на сообщение #5764] Fri, 22 November 2024 09:14 Переход к предыдущему сообщениюПереход к следующему сообщению
sg729 в настоящее время не в онлайне  sg729
Сообщений: 58
Зарегистрирован: June 2022
Member
pastor писал(а) Fri, 22 November 2024 08:29

займись Smile
Куда мне...
Я же не Торвальдс и не Бил Гейтс -)

Но по сути, ведь сохраняются в файловой системе права доступа и владелец, а чем кодировка хуже...
Re: charset win1251 для isql в ubuntu [сообщение #5766 является ответом на сообщение #5765] Fri, 22 November 2024 09:22 Переход к предыдущему сообщениюПереход к следующему сообщению
pastor в настоящее время не в онлайне  pastor
Сообщений: 83
Зарегистрирован: June 2022
Географическое положение: Калуга
Member
sg729 писал(а) Fri, 22 November 2024 09:14
pastor писал(а) Fri, 22 November 2024 08:29

займись Smile
Куда мне...
Я же не Торвальдс и не Бил Гейтс -)

Но по сути, ведь сохраняются в файловой системе права доступа и владелец, а чем кодировка хуже...
в FAT32? COM? tty? stdin?
Re: charset win1251 для isql в ubuntu [сообщение #5767 является ответом на сообщение #5765] Fri, 22 November 2024 10:40 Переход к предыдущему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 358
Зарегистрирован: August 2022
Senior Member
sg729
Куда мне...
Я же не Торвальдс и не Бил Гейтс -)

Но по сути, ведь сохраняются в файловой системе права доступа и владелец, а чем кодировка хуже...
У них такие вопросы не возникают. Куда им...

Wink
Предыдущая тема: Firebird 5.0.1 использование памяти
Следующая тема: Архив "старого" скруля
Переход к форуму:
  


Текущее время: Wed Nov 27 19:24:08 GMT+3 2024

Общее время, затраченное на создание страницы: 0.01269 секунд