【发布时间】:2021-03-10 07:53:05
【问题描述】:
有一些基于 NONE 编码的旧数据库,具有独特的拉丁字符,如 á,读起来像 ? .现在,正确的形式是以正确的字符集形式 NONE 读取 DB,它是在连接字符串中指定的,但是如果指定 charset = NONE,库 FirebirdSql.Data.FirebirdClient 也不会读取这些值。我该如何解决这种情况?现在的结果就像“编辑”,但需要带有撇号。我用的是.NET Core和FirebirdSql.Data.FirebirdClient 7.10.1版本,我试过降级了,还是一样。
【问题讨论】:
-
Now, the correct form is to read DB in correct charset form NONE这根本不是真的。在这种情况下,尽管仍然很脆弱,但正确的方法是指定与数据库中文本数据的二进制格式完全相同的连接字符集。 -
是 firebird 3 还是 firebird 2 ? // 在 FB2 的情况下,可以使用 SQL 命令或 IBExpert 之类的 IDE 侵入“系统表”并追溯为列分配适当的字符集。然后,您最好将表复制到自身上,以使新的“格式版本”分布在所有行中,例如
update tablename set text_blob_column = '' || text_blob_column。但是对备用数据库副本进行实验,您可以随时将其扔到回收站并从新的标准具副本开始,如有任何疑问。
标签: c# .net firebird firebird-.net-provider