As depicted in the images, the column names with turkish character displays correctly on Heidisql 11 but not in version 12. It shows a question mark at the character position.
Character encoding issues at column names with version 12
You should update to the latest build, and try the two library options libmysql.dll and libmariadb.dll in your session.
Long story can be read here.
Because in v11.3, HeidiSQL forced the connection's character set to be utf8mb4, while v12.0 only does that if the connection has a non-utf* character set. I found out some servers seem to report utf8 charset although the character_set_client
variable is latin1 (or latin2, or whatever). Your server seems to be one of those.
Perhaps you can post your server version, and the charset settings from the server's my.ini/my.cnf?
# MySQL/MariaDB default is Latin1, but in Debian we rather default to the full
# utf8 4-byte character set. See also client.cnf
#
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
mysql Ver 15.1 Distrib 10.3.34-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
I copied your my.ini settings to mine from a MariaDB 10.3.12 installation, and still
- libmariadb/mysql_character_set_name detects utf8mb4 at startup
- libmysql/mysql_character_set_name detects latin1 so HeidiSQL forces utf8mb4
Did you perhaps not update the dlls in your HeidiSQL directory? Probably you just updated the main executable heidisql.exe?
I made a mistake, I reported wrong servers version. Actually it should be as follows.
mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
There is no character set definitions in my.cnf file. Whole file is as follows, and there is no other file for configuring this mysql server.
[root@webservers ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_allowed_packet=32M
#log=/var/log/mysql/mysql.log
log-error=/var/log/mysql/mysql-error.log
ft_min_word_len = 2
# turning on event_scheduler
event_scheduler=ON
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@webservers ~]# mysql -V
mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
So, I understand that, if you use an old server you must use libmysql.dll. Thank you.
Please login to leave a reply, or register at first.