Hello Holger,
The question is how does Sqlite.exe see the passed in filename? One
thing you can do is use "procmon" and watch the filename of the file
Sqlite.exe is trying to open. That'll probably give you a clue as to
where the conversion is going wrong.
This is what procmon told me:
11:30:46.3770663 PM sqlite3.exe 1556 QueryOpen
W:\Test.db3 NAME NOT FOUND
11:30:46.3771904 PM sqlite3.exe 1556 CreateFile
C:\Users\Bla\.sqliterc NAME NOT FOUND
Desired Access: Generic Read,
Disposition: Open,Options: Synchronous IO
Non-Alert, Non-Directory File,
Attributes: N, ShareMode: Read, Write,
AllocationSize: n/a
11:35:09.0408960 PM sqlite3.exe 7272 QueryOpen W:\Dat?\Test.db3
NAME NOT FOUND
11:35:09.0410219 PM sqlite3.exe 7272 CreateFile
C:\Users\Bla\.sqliterc NAME NOT FOUND
Desired Access: Generic Read, Disposition: Open,
Options: Synchronous IO Non-Alert, Non-Directory
File, Attributes: N,
ShareMode: Read, Write, AllocationSize: n/a
C
Sunday, February 7, 2016, 2:09:19 PM, you wrote:
HJ> Hello!
HJ> When trying to open a db file with a name containing non-ASCII
HJ> characters on Windows, I get an error that the file couldn't be found.
HJ> Actually, the error message doesn't contain the character itself,
HJ> because it gets changed by the sqlite3.exe program.
HJ> The file name I tried contains the letter '?', but umlauts like ??????
HJ> cause the same trouble.
HJ> On Linux everything is fine. Since other programs, like tclsh or wish
HJ> from the Tcl/Tk suite, have not problem, I wonder whether sqlite3.exe
HJ> handles the file name correctly.
HJ> Regards,
HJ> Holger
--
Teg mailto:Teg at djii.com