我在 Firebird 2.1 DB Varchar 字段中存储 UTF-8 字符时遇到问题。
字段定义没有指定字符集。字符集总是在连接字符串中传递。
所有字段的字符集都设置为 NONE。连接字符串是
<add name="ConnectionString"
connectionString="character set=UTF8;initial catalog="c:\temp\data.FDB";user id=SYSDBA;password=;connection lifetime=15;pooling=true;MinPoolSize=0;MaxPoolSize=50;data source=localhost"
providerName="FirebirdSql.Data.FirebirdClient" />
.NET 驱动程序版本为 2.1.0.0。Firebird 本身的版本是 2.1.3.18185。
据我了解,这将覆盖字段本身的任何设置,但是我在存储字符时遇到了问题,例如数据库中的右单引号 (ALT + 0146)。它总是作为一个奇怪的问号字符出现。
在指责 ASP.NET 网站几天后,我发现如果我在字段(域)本身上将字符集设置为 UTF-8,那么它似乎可以解决问题。
这个对吗?
我一直认为在连接字符串中传递字符集会做同样的事情。