[
http://tracker.firebirdsql.org/browse/CORE-3172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dimitry Sibiryakov reopened CORE-3172:
--------------------------------------
Planning Status: Considered for inclusion
This ticket is not a duplicate because is caused not by lack of Unicode support
in engine, but unnesessary recoding of UTF-8 file names into ANSI code page in
Y-valve on client side, which completely beats the idea behind
isc_dpb_utf8_filename flag.
> DPB flag isc_dpb_utf8_filename don't work
> -----------------------------------------
>
> Key: CORE-3172
> URL: http://tracker.firebirdsql.org/browse/CORE-3172
> Project: Firebird Core
> Issue Type: Bug
> Components: Engine
> Affects Versions: 2.5.0
> Environment: Case 1 : Windows Server / Windows Client
> Case 2 : Linux Server / Windows Client
> Reporter: Pierre Yager
> Attachments: CORE-3127.cpp.7z
>
>
> While trying to implement support to utf8_filename DPB flag into UIB
> Components we cannot pass any test.
> 1) I created a database with a system charset filename in either server, then
> I renamed it to unicode charset using the operating system commands (Rename
> on Windows, mv on Linux). For instance I choosed this name : привет.fdb
> 2) I succeded accessing the database on the Linux server using ISQL on both
> Linux and Windows clients. On Windows client the database name has to be
> specified in an input file, on Linux client, the filename can be specified
> either as a command line argument or in an input file but neither allow to
> specify the connexion string within the ISQL console prompt.
> 3) On Windows clients, accessing such databases is impossible. I gave a look
> at the Firebird engine core and It seems that the algorithm to resolve file
> names is :
> read filename;
> if not isc_dpb_utf8filename then
> ISC_SystemToUTF8(filename);
> ISC_UTF8ToSystem(filename);
> Open(filename)
> So the filename is always accessed using an ANSI filename throught ANSI API
> on Windows.
> On Linux SystemToUTF8/UTF8ToSystem functions are void and fopen((char*)) is
> UTF8 compliant.
> 4) Within the Delphi (2010, Full Unicode) client using the latest UIB
> Components I tried different compositions between adding the utf8_filename
> flag or not, transcoding the database name to utf8 or not...
> Results :
> * utf8_filename flag : ON - Filename : UTF8 : I get this error : Cannot
> transliterate character between character sets / Connection error / Error
> Code: 652
> * utf8_filename flag : OFF - Filename : UTF8 : I get this error : I/O error
> during "open" operation for file "/db/├É┬┐├æÔé¼├É┬©├É┬▓├É┬Á├æÔÇÜ.fdb"
> Error while trying to open file
> No such file or directory
> Unsuccessful execution caused by a system error that precludes successful
> execution of subsequent statements
> Error Code: 24
> * utf8_filename flag : ON - Filename : Ansi : the filename is sent as
> ?????.fdb because there is no russian chars in the Win1252 charset
> * utf8_filename flag : OFF - Filename : Ansi : same as above.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel