При выводе символьных данных на терминал в кодировке UTF-8 происходит их усечение до того количества символов, которое реально помещается в соответствующей длине символьного поля.
Для lindesk
Нужно указать кодировку KOI8-R по умолчанию, а не UTF-8:
-
открыть консоль;
-
войти в каталог
linter/bin
; -
ввести
export LD_LIBRARY_PATH=$PWD export LANG="ru_RU.KOI8-R"
Для ldba
Нужно указать кодировку KOI8-R по умолчанию, а не UTF-8:
-
открыть консоль;
-
войти в каталог
linter/bin
; -
ввести
export LANG="ru_RU.KOI8-R"
Для inl
-
Указать кодировку KOI8-R для хранения данных в БД.
set database default character set "KOI8-R"; set database names "KOI8-R";
-
Передать данные в кодировке KOI8-R.
-
Например, создать файл
1.sql
в кодировке KOI8-R (содержимое файла должно быть в кодировке KOI8-R):create or replace table aaa (ch char(4)); insert into aaa values ('АБВГ'); select * from aaa;
-
Выполнить его в приложении inl, предварительно указав, что данные будут передаваться в KOI8-R с помощью переменной окружения
LINTER_CP
:export LINTER_CP=KOI8-R ../bin/inl -u SYSTEM/MANAGER8 -f 1.sql > 1.sql.out
В результате можно увидеть, что в БД поместилось 4 русских символа и считалось аналогично 4 русских символа.
-