In current version Firebird Embedded expects filenames to be in ANSI code page, but FB .NET provider encodes filename using charset specified in connection string.
This effectively prevents opening anything that is not base ASCII 128.
I suggest following patch in class FesDatabase
in method AttachDatabase and CreateDatabase replace following code:
byte[] databaseBuffer = this.Charset.GetBytes(database);
with:
byte[] databaseBuffer = System.Text.Encoding.Default.GetBytes(database);
In future when Firebird Embedded will support full unicode filenames this can be reverted or maybe implemented according to this future API change.
Submitted by: Robert Kindl (rkindl)
Votes: 1
In current version Firebird Embedded expects filenames to be in ANSI code page, but FB .NET provider encodes filename using charset specified in connection string. This effectively prevents opening anything that is not base ASCII 128.
I suggest following patch in class FesDatabase
in method AttachDatabase and CreateDatabase replace following code: byte[] databaseBuffer = this.Charset.GetBytes(database); with: byte[] databaseBuffer = System.Text.Encoding.Default.GetBytes(database);
In future when Firebird Embedded will support full unicode filenames this can be reverted or maybe implemented according to this future API change.
Commits: FirebirdSQL/NETProvider@9a5040bca58d456de336a20315a4af184b43a424