1

简单的例子我得到错误格式错误的字符串。如何解决这个问题?我使用 Firebird 2.5,数据库中没有字符集。

set term ^ ;


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

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

set term ; ^

我在 FlameRobin 和 isql 中尝试过,结果相同。

我使用了组名win1250。没有效果。

4

2 回答 2

1

我不建议您在任何数据库中使用 charset none,Firebird 也是如此。

即使它应该使用Flamerobin进行转换,我建议您使用所需的字符集重新创建数据库,并使用编码的字符集将数据从旧数据库“泵送”到新数据库。像fbclone这样的工具可以完成这项工作。

关于火鸟和字符集的其他有趣的链接在这里

于 2012-03-04T10:36:28.393 回答
0

我发生什么事了;

我用的是 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' );

然后我得到格式错误的字符串。

简而言之:

我重新连接到 db,设置 CHARTSET 与 DataBases current Charset (which is utf 8) 相同。是的!我毫无问题地插入了“包含插入语句的unicode”。


注意:火鸟的帮助太少。让我们一起改进。

于 2018-04-30T15:59:26.463 回答