[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: File maodbc.dll    

 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` (
`col1` char(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1

insert into table1 values ('åäöÅÄÖ')

select * from table1 gives:

col1
--------------------------------------------------
2†„"Ž™

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.
Thank you in advance for the additional information!

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.
rekefjard Maybe you volunteer? I'll post the dll with fixed connector here then.

Comment by Richard Ekefjärd [ 2018-04-03 ]

Yes i can, please post the dll!

Comment by Lawrin Novitsky [ 2018-04-03 ]

Thanks!
You might need to set latin1 as the connection charset

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

Generated at Thu Feb 08 03:26:29 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.