ошибка firebird, искаженная строка при компиляции процедуры

Простой пример. Я получаю неверную строку с ошибкой. Как это решить? Я использую Firebird 2.5, набора символов в базе нет.

set term ^ ;


create or alter procedure test4
as
declare s varchar(20);
begin

s='öööööáé';
END^

set term ; ^

Я пробовал это в FlameRobin и с isql, результат тот же.

Я использовал набор имен win1250. Нет эффекта.


person Aftershock    schedule 23.02.2012    source источник


Ответы (2)


Я не советую вам использовать кодировку none в любой базе данных, и это также верно для Firebird.

Даже если предполагается, что он будет преобразован с помощью Flamerobin, я советую вам воссоздать свою базу данных с кодировкой, которую вы хотите и «перекачивают» вам данные из вашей старой базы данных в новую базу данных с закодированной кодировкой. Такой инструмент, как fbclone, может выполнить эту работу.

Другая интересная ссылка на Firebird и кодировку здесь

person Hugues Van Landeghem    schedule 04.03.2012

что со мной случилось;

Я использовал ems sql manger firebird lite.

моя информация о БД, такая как эта кодировка по умолчанию: сортировка по умолчанию utf8: unicode_ci_ai

у меня отсутствовала кодировка подключения; и я попытался вставить

INSERT INTO CARI  (CARI_ID, CARI_ADI, CARI_KOD    )
VALUES ('8', 'FİLA UNİCODE_TEXT', 'FİŞA' );

тогда я получаю искаженную строку.

вкратце:

Я повторно подключаюсь к базе данных с настройкой CHARTSET так же, как и для текущего набора символов базы данных (который был utf 8). даССС !! Я без проблем вставил этот «Юникод, содержащий оператор вставки».


примечание: слишком мало помощи с firebird. давайте совершенствоваться вместе.

person bh_earth0    schedule 30.04.2018
comment
Я также довольно долго искал, поскольку моя система автоматического обновления генерировала объекты db, которые создавали искаженные строки при загрузке с символами, отличными от ascii. Это произошло после того, как я перенес свой проект из UNIDAC в Firedac. Поскольку в коде не было символов, отличных от ASCII, это было последнее, что я проверял. Мне потребовалось больше дня, чтобы понять, как я искал везде ... - person MichaSchumann; 05.07.2019