[ 
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

Reply via email to