For MySQL 5.1 servers, we found out that the my.ini file needs to have the following entries:
[client]
default-character-set=utf8
character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.1/share/charsets"
port=3306
[mysql]
default-character-set=utf8
--------
However, if you accidently wrote utf-8 instead of utf8 - it will cause all sorts of issues.
How to quickly test if you have it right?
Open CMD, then type: mysql
If you see the following error:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Administrator>mysql
mysql: Character set 'utf-8' is not a compiled character set and is not specified in the 'C:\Program Files\MySQL\MySQL Server 5.1\share\charsets\Index.xml' file
C:\Users\Administrator>
Then this is your first clue that the utf-8 is a wrong charset.
Modify the values to show as above (with utf8 instead of utf-8) and then save the my.ini.
You don't need to restart the mysql service.
If you type mysql again, you will see the correct error of missing mysql parameters (user/password) etc,. but it will not give you the warning about wrong charset.
[client]
default-character-set=utf8
character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.1/share/charsets"
port=3306
[mysql]
default-character-set=utf8
--------
However, if you accidently wrote utf-8 instead of utf8 - it will cause all sorts of issues.
How to quickly test if you have it right?
Open CMD, then type: mysql
If you see the following error:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Administrator>mysql
mysql: Character set 'utf-8' is not a compiled character set and is not specified in the 'C:\Program Files\MySQL\MySQL Server 5.1\share\charsets\Index.xml' file
C:\Users\Administrator>
Then this is your first clue that the utf-8 is a wrong charset.
Modify the values to show as above (with utf8 instead of utf-8) and then save the my.ini.
You don't need to restart the mysql service.
If you type mysql again, you will see the correct error of missing mysql parameters (user/password) etc,. but it will not give you the warning about wrong charset.