Bug #30568 Invalid charset gets selected when looking at ODBC configuration
Submitted: 22 Aug 2007 17:45 Modified: 13 Sep 2007 19:28
Reporter: Stefan Nordhausen
Status: Closed
Category:Connector/ODBC Severity:S2 (Serious)
Version:3.51.19 OS:Microsoft Windows (XP SP2)
Assigned to: Jim Winstead Target Version:

[22 Aug 2007 17:45] Stefan Nordhausen
Description:
When one opens the "ODBC Data Source Administrator" in Windows and selects "Configure" it
is extremely easy to select an invalid charset without noticing it.

This causes problems when connecting from VBA (Visual Basic for Applications), even
though the connection check in the ODBC Administrator still works. The error message I
get when trying to open a connection via VBA is

"Can't initialize character set  (path: C:\mysql\\share\charsets)"

Note the extra space in the error message!

How to repeat:
- Configure a MySQL connection with the ODBC Data Source Administrator
- Select the "Connect Options" tab
- Open the "Character Set" combo-box to see the list of possible character sets
- Click outside the list or press ESC to NOT select anything  ***
- Close the window by pressing OK

Now, a new registry key
HKEY_CURRENT_USER/Software/ODBC/ODBC.INI/<connection_name>/CHARSET gets created. The
value of the key is " " (one space). Deleting the key or setting its value to "" resolves
the issue.

*** This is what you expect. However, the GUI thinks you selected " ".

Suggested fix:
The configuration GUI should correctly detect that I did not want to select a certain
character set and just do nothing.

Also, the connection check should use the character set that is configured so that one
can detect the error. Otherwise, people will think ODBC is correctly configured and the
problem is in their application. The connection check could warn the user if the
configured character set is unknown (also useful if the character set was set manually in
the registry).
[22 Aug 2007 18:17] Miguel Solorzano
Thank you for the bug report.
[5 Sep 2007 10:40] Stefan Nordhausen
The same thing happens with the combo box that lets you select the database to connect to,
which makes it easy to accidently delete your database selection. So this seems to be a
general problem with the handling of combo boxes and may affect other parts of the GUI as
well.
[11 Sep 2007 3:00] Jim Winstead
Use empty string instead of one space for empty selection in combo boxes

Attachment: bug30568.patch (text/plain), 1008 bytes.

[11 Sep 2007 7:18] Jim Winstead
The fix for this bug has been committed to the source repository. It will be included in
the next release, 3.51.21.
[13 Sep 2007 19:28] MC Brown
A note has been added to the 3.51.21 changelog: 

Clicking outside the character set selection box when configuring a new DSN could cause
the wrong character set to be selected.