Re: [Firebird-net-provider] unexpected problem with Euro sign
coming back to that topic, if anybody reading this will try the same. found out that all stored procedures have to be recompiled, otherwise there will be transliteration errors. After recompiling offending stored procs, everything is fine. -- Mit freundlichen Grüssen, André Knappstein, EDV und Controlling Verwaltungs- und Erlebniszentrum Marina Rünthe beta Eigenheim GmbH Hafenweg 4 59192 Bergkamen-Rünthe Durchwahl: +49 2389 9240 140 ~~~Ihre Nachricht~~~ JC On 7/20/07, André Knappstein, Controlling JC [EMAIL PROTECTED] wrote: 1.) update rdb$database set rdb$character_set_name = WIN1252; JC This isn't required. This is default charset for new columns if it's JC not specified. 2.) update rdb$Fields set rdb$character_set_ID = 53 where rdb$character_set_ID = 21; 3.) update rdb$function_arguments set rdb$character_set_ID = 53 where rdb$character_set_ID = 21; JC This the quickdirty version. But if no error is reported during JC backuprestore, it's fine. Then backing up, and restoring into a new database. Quite brutal, I know, but that worked perfectly. But - before I try that with the production databases - did I miss something important which might beat me only much later?? Is there maybe a much more simple way to switch character set for a database? JC Changing domain. Thanks, André ~~~Ihre Nachricht~~~ One questions remains, though. If ISO8859_1 is not suitable for that purpose, why have I never been noticing this before? I mean, why do the other drivers/providers translate those bytes correctly to a Euro sign? DH ISO 8859-1 and WIN-1252 are almost exactly the same, except that where ISO DH 8859-1 has some control codes, WIN-1252 has a few extra letters (like U+2020 DH , etc) -- one of those extra letters is the Euro sign. DH Many applications, however (especially Windows applications) treat ISO DH 8859-1 as being synonymous with WIN-1252, so that's probably why it worked DH in those other cases. .NET is not so lenient, however, and something marked DH as ISO 8859-1 to .NET will not be able to contain a Euro symbol. DH Dean. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] unexpected problem with Euro sign
Just for confirmation: I was testing with a backup of several production databases. All results were the same: changing charset from ISO8859_1 to WIN1252 for all objects in the database does the trick. I can then read and write the Euro-sign not only via ODBC and .net for ODBC and via other drivers, but ALSO via FB.net provider. I have one request for advice from the experts here, please: Not needing the database 24/7, luckily, I was taking it offline and doing the following 3 steps: 1.) update rdb$database set rdb$character_set_name = WIN1252; 2.) update rdb$Fields set rdb$character_set_ID = 53 where rdb$character_set_ID = 21; 3.) update rdb$function_arguments set rdb$character_set_ID = 53 where rdb$character_set_ID = 21; Then backing up, and restoring into a new database. Quite brutal, I know, but that worked perfectly. But - before I try that with the production databases - did I miss something important which might beat me only much later?? Is there maybe a much more simple way to switch character set for a database? Thanks, André ~~~Ihre Nachricht~~~ One questions remains, though. If ISO8859_1 is not suitable for that purpose, why have I never been noticing this before? I mean, why do the other drivers/providers translate those bytes correctly to a Euro sign? DH ISO 8859-1 and WIN-1252 are almost exactly the same, except that where ISO DH 8859-1 has some control codes, WIN-1252 has a few extra letters (like U+2020 DH †, etc) -- one of those extra letters is the Euro sign. DH Many applications, however (especially Windows applications) treat ISO DH 8859-1 as being synonymous with WIN-1252, so that's probably why it worked DH in those other cases. .NET is not so lenient, however, and something marked DH as ISO 8859-1 to .NET will not be able to contain a Euro symbol. DH Dean. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] unexpected problem with Euro sign
On 7/20/07, André Knappstein, Controlling [EMAIL PROTECTED] wrote: 1.) update rdb$database set rdb$character_set_name = WIN1252; This isn't required. This is default charset for new columns if it's not specified. 2.) update rdb$Fields set rdb$character_set_ID = 53 where rdb$character_set_ID = 21; 3.) update rdb$function_arguments set rdb$character_set_ID = 53 where rdb$character_set_ID = 21; This the quickdirty version. But if no error is reported during backuprestore, it's fine. Then backing up, and restoring into a new database. Quite brutal, I know, but that worked perfectly. But - before I try that with the production databases - did I miss something important which might beat me only much later?? Is there maybe a much more simple way to switch character set for a database? Changing domain. Thanks, André ~~~Ihre Nachricht~~~ One questions remains, though. If ISO8859_1 is not suitable for that purpose, why have I never been noticing this before? I mean, why do the other drivers/providers translate those bytes correctly to a Euro sign? DH ISO 8859-1 and WIN-1252 are almost exactly the same, except that where ISO DH 8859-1 has some control codes, WIN-1252 has a few extra letters (like U+2020 DH †, etc) -- one of those extra letters is the Euro sign. DH Many applications, however (especially Windows applications) treat ISO DH 8859-1 as being synonymous with WIN-1252, so that's probably why it worked DH in those other cases. .NET is not so lenient, however, and something marked DH as ISO 8859-1 to .NET will not be able to contain a Euro symbol. DH Dean. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider -- Jiri {x2} Cincura (Microsoft Student Partner) http://blog.vyvojar.cz/jirka/ | http://www.ID3renamer.com - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] unexpected problem with Euro sign
On 7/11/07, André Knappstein, Controlling [EMAIL PROTECTED] wrote: Charset of Connection is ISO8859_1 You should use unicode (UTF8) in connection string, on 99% you're putting data from .NET in Unicode. -- Jiri {x2} Cincura (Microsoft Student Partner) http://blog.vyvojar.cz/jirka/ | http://www.ID3renamer.com - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] unexpected problem with Euro sign
Damn, I missed, that you're not inserting (but the connection string should be changed at all). What exception you get? No problem, because for the nearest future I definitely do plan to insert data via the (new) .net application. I am doing the latest tests and now stumbled over that curiosity. I do NOT get any exception. Just the character which is shown as Euro symbol in other applications is shown as a placeholder symbol when using the .net Provider. Other applications also includes IBExpert which - as I understand - is written in Delphi. Other applications also includes my own old dBase and Delphi applications, either with native drivers or via BDE/ODBC. Also everything works fine when I am using the Microsoft net provider for ODBC. I tried changing the charset of the connection to UNICODE_FSS but to no avail. Instead of showing rectangle placeholder now I just get an empty space. When I ENTER data with .net provider and charset UNICODE_FSS the result will be stored in the database as question mark (?); querying the database again will also deliver a question mark. What could I probably be overlooking? Thanks for your time - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] unexpected problem with Euro sign
It's definetely encoding problem. It looks like, that the sign isn't added into DB right. When you connect using isql with proper encoding (probably DOS852) did you get the sign right? -- Jiri {x2} Cincura (Microsoft Student Partner) http://blog.vyvojar.cz/jirka/ | http://www.ID3renamer.com - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] unexpected problem with Euro sign
Hello: I am a bit puzzled about a problem which came quite unexpected to me. It seems that I cannot get our Euro-sign (ALT+0128) through to the client GUI via the .net Provider. I'm going to reproduce here an answer of Peter Jacobi on this topic some time ago: Whatever you are trying to achieve here, note that there is no euro- character in ISO-8859-1. You can use ISO-8859-15, WIN1252, UTF8 or even more strange options, but not ISO-8859-1. -- Best regards Carlos Guzmán Álvarez Vigo-Spain - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] unexpected problem with Euro sign
Now you got me, Jiri :) I have once and never again used ISQL when I started converting DBF to Firebird 4 years ago. If I need to use it to make further tests, I will get the documents and use it. Carlos' Answer might be helping out as well, thanks. ~~~Ihre Nachricht~~~ JC It's definetely encoding problem. It looks like, that the sign isn't JC added into DB right. JC When you connect using isql with proper encoding (probably DOS852) did JC you get the sign right? - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] unexpected problem with Euro sign
Thanks for the answer, Carlos. So, I should use Win1252 and be well? That's not too big a problem. I have about 300 tables, but most of the objects do not override the database's charset. Can I change the database's charset by restoring a backed up db into an (empty) database with another charset? One questions remains, though. If ISO8859_1 is not suitable for that purpose, why have I never been noticing this before? I mean, why do the other drivers/providers translate those bytes correctly to a Euro sign? Having the Euro sign (for notes/memo-fields) is essential for my application so I will try to convert charset as early as possible and give a report back. I will try Win1252 because I don't want the 2 bytes extra for Unicode. Thanks, André CGÁ Whatever you are trying to achieve here, note that there is no euro- CGÁ character in ISO-8859-1. You can use ISO-8859-15, WIN1252, UTF8 CGÁ or even more strange options, but not ISO-8859-1. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] unexpected problem with Euro sign
On 7/11/07, Carlos Guzmán Álvarez [EMAIL PROTECTED] wrote: Whatever you are trying to achieve here, note that there is no euro- character in ISO-8859-1. You can use ISO-8859-15, WIN1252, UTF8 or even more strange options, but not ISO-8859-1. Nice! I know only Win1250 (or iso-8859-2), which is used mostly here. So I have no idea. :) -- Jiri {x2} Cincura (Microsoft Student Partner) http://blog.vyvojar.cz/jirka/ | http://www.ID3renamer.com - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] unexpected problem with Euro sign
One questions remains, though. If ISO8859_1 is not suitable for that purpose, why have I never been noticing this before? I mean, why do the other drivers/providers translate those bytes correctly to a Euro sign? ISO 8859-1 and WIN-1252 are almost exactly the same, except that where ISO 8859-1 has some control codes, WIN-1252 has a few extra letters (like U+2020 †, etc) -- one of those extra letters is the Euro sign. Many applications, however (especially Windows applications) treat ISO 8859-1 as being synonymous with WIN-1252, so that's probably why it worked in those other cases. .NET is not so lenient, however, and something marked as ISO 8859-1 to .NET will not be able to contain a Euro symbol. Dean. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider