1
votes

Simple example I get error malformed string. How to solve this? I use Firebird 2.5, character set is none in the database.

set term ^ ;


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

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

set term ; ^

I tried this in FlameRobin and with isql, Same result.

I used set names win1250. No effect.

2

2 Answers

1
votes

I don't advice you to use charset none in any database and it is also true for Firebird.

Even if it is supposed to be converted with Flamerobin, I advice you to recreate your database with the charset you want and "pump" you data from your old database to your new database with an encoded charset. A tool like fbclone can do this job.

Other interresting link about Firebird and charset here

0
votes

what happened to me;

i used ems sql manger firebird lite.

my db infos like this default charset : utf8 default collation: unicode_ci_ai

my connection charset was none ; and i tried to insert

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

then i get Malformed string.

in Short:

I reconnect to db with setting CHARTSET same with DataBases current Charset (which was utf 8) . yesSSS!! i inserted that "unicode containing insert statement" with no problem.


note: there is too little help with firebird. lets improve together.