Hi all,
After I have upgraded to version 12, Chinese characters returned in data grid are shown as '?'. No such problem in version 11. Anythings can be done in settings to fix?
Thanks in advance.
Regards, Patrcik
Hi Ansgar,
Thanks for your response. However I checked the setting in Tools > Preferences > Grid formatting between two versions (11 and 12) and found no differences. They got records from the same server/database/table. Actually I did not alter anything after upgraded to version 12. Collate of the table is 'utf8_general_ci'. Are there any chances that somethings were hard-coded in version 12?
Regards, Patrick
That could be a font issue. Your both screens look as if you were using different fonts. Try the same font, in Tools > Preferences > Grid formatting.
Ok, so this is not a font issue.
There are two things which might cause that:
You should please check the connection charset, once you have a connection:
SHOW VARIABLES LIKE 'character_set%';
Variable_name | Value |
---|---|
character_set_client | utf8mb4 |
character_set_connection | utf8mb4 |
character_set_database | utf8mb4 |
character_set_filesystem | binary |
character_set_results | utf8mb4 |
character_set_server | utf8mb4 |
character_set_system | utf8 |
character_sets_dir | C:\Wamp\mariadb-10.3.12-winx64\share\charsets\ |
Hi Ansgar,
My Version 12 was already on the latest nightly build 12.0.0.6507, the problem persists. The results returned from "SHOW VARIABLES LIKE 'character_set%';" are different however:
Version 12.0.0.6507 (Displays Chinese characters as '?'):
Version 11.3.0.6321 (Displays Chinese characters correctly)::
But both HeidiSQL V11 and V12 clients connect to the same server/database.
Ok, I thought you were using the last 12.0 release. In the nightly builds, you are probably running into a new issue due to my change for issue #287.
Please restart your connection and watch out for such a line in the log panel at the bottom, saying "Changing character set from x to y":
Please post a screenshot or the text you see there.
mysql_character_set_name() from libmysql.dll reports utf8* if in fact it's a latin* charset. Force utf8* charset in that case. See https://www.heidisql.com/forum.php?t=39278
Yes, using libmariadb.dll causes the problem, changing to libmysql.dll gets rid of the problem.
I installed the latest version 12.0.0.6512, I changed the library to libmysql.dll and the connected characters are displayed correctly. In the case of libmariadb.dll that I had set by default, they still display badly.
Thank you for your help.
I could finally reproduce it here, on a super old MySQL 5.1 server. I saw that in the very first screenshot in this thread. Why the heck do you use such old server versions? These have bugs, probably serious ones.
However, I will try to find out which server version was the first to report the correct charset through mysql_character_set_name
, and then make an extra call for such old versions.
Hello!
Sorry to revive this post, but have you found a fix for it?
I'm also having problems with some of my DB's, which are still on MySQL 5.1 (I know...), because data on utf8 tables is shown incorrectly.
In my case they are not chinese characters, but regular leters with diacritics, e.g. accents and ñ. For instance, the name Sofía Peña Argüello shows wrong:
I'm already on the latest Heidi build, i.e. 12.1.0.6557, but the bug persists.
Now, as other comment suggested, I tried changing the connection library, from libmariadb.dll, to libmysql.dll, and it works. Now it shows them correctly:
But I don't know if there's a downside of using that library, or I may get bugs elsewhere (e.g. exporting data, etc). Also using an older version of Heidi (< 12.x) is not ideal, so a proper fix would be better.
Let me know if you need more info.
Thanks in advance!
Please login to leave a reply, or register at first.