[ODBC-137] ODBC and Swedish characters Created: 2018-03-05 Updated: 2018-04-10 Resolved: 2018-04-10 |
|
| Status: | Closed |
| Project: | MariaDB Connector/ODBC |
| Component/s: | General |
| Affects Version/s: | 2.0.16, 3.0.3 |
| Fix Version/s: | 3.0.4, 2.0.17 |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Richard Ekefjärd | Assignee: | Lawrin Novitsky |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Windows Server 2016 |
||
| Attachments: |
|
| Description |
|
We're having problems inserting/selecting Swedish characters with the 3.0.3 (same issue with 2.0.16 though) version of the driver. It works with version 1.0.6 however. The ODBC driver is set up with Latin1 as 'Connection Character Set'. CREATE TABLE `table1` ( insert into table1 values ('åäöÅÄÖ') select * from table1 gives: col1 We have tried different 'Connection Character Set' settings as well as leaving it empty. CP1257 works ok for Swedish but does not cover other languages that we need to support. Other MysQL .Net connectors have no issues. We are migrating from MySQL and the Oracle ODBC driver we have been using before have no issues. |
| Comments |
| Comment by Lawrin Novitsky [ 2018-03-06 ] |
|
Thank you your report. In what kind of application do you see that issue? I gather that is custom .Net application, since you are talking about MySQL .Net connectors. Is same application insert and reads written data? You expect single connection to work with different ANSI charsets? And MySQL's connector works for you for that? What charset is set in DSN for that? Btw, did you try utf8 as charset? Possibly it's used implicitly for your application, but I cannot know that without knowing what is (the type of) your application. |
| Comment by Richard Ekefjärd [ 2018-03-07 ] |
|
Hello! We're having native C applications (using your MariaDB ODBC driver through a DSN) that do INSERT/SELECT. We have the MySQL tables created with default charset latin1 as shown in my initial post. I have tried different charsets in the DSN and they do give different results but the select isn't giving us the expected 'åäöÅÄÖ'. I guess that your driver, if no other charset is set in the DSN, should use the same charset as the table is created with? I have tried Devarts ODBC trial driver and it works without setting any specific charset in the DSN. Your legacy applications can't handle utf8. We do not expect a single connection to work with different charsets, but we expect that the charset (latin1?) specified can handle the nordic languages. And forget about me talking about .Net connectors, i only meant that the .Net applications using a .Net connector (Devart) against table1 does not have any issues =) The key thing as i see it is that it works with version 1.0.6 of your ODBC driver. But that version has other issues, for example some legacy applications that use the explain/describe/desc keyword which only seems to work in version 3.x. |
| Comment by Lawrin Novitsky [ 2018-03-29 ] |
|
I have pushed the fix couple of days ago, but I am not closing the issue since I'd like the fix to be tested by some other people. |
| Comment by Richard Ekefjärd [ 2018-04-03 ] |
|
Yes i can, please post the dll! |
| Comment by Lawrin Novitsky [ 2018-04-03 ] |
|
Thanks! |
| Comment by Lawrin Novitsky [ 2018-04-04 ] |
|
Sorry, there will be new version. Even if the one I posted works for you. If you haven't tested it, then please don't |
| Comment by Lawrin Novitsky [ 2018-04-04 ] |
|
I have removed the old dll, and uploaded the new one |
| Comment by Richard Ekefjärd [ 2018-04-04 ] |
|
I have now tested the new(est) dll (3.0.4) with latin1 and the issue i had before is now fixed! When can we expect a new release? Thanks, Richard |
| Comment by Lawrin Novitsky [ 2018-04-10 ] |
|
The (latest changes to the) fix has been pushed in commit 025978c5b0962f71aafcee534c495005b1ddb683 into odbc-3.0 Yet to be cherry-picked) into odbc-2.0 |