我有一个奇怪的问题。我有一个运行Linux的嵌入式系统,QT 4.8(用于触摸屏)和MySQL 5.7.8。在我的数据库中,我有一些条目包含法语重音字符,如“é,à,À等”
所以,我首先启动mysqld进程,然后启动运行QT的应用程序,打开数据库。
这会在屏幕上显示损坏的字符。例如,“É”将变为“Ã%”。
如果我重新启动mysqld,所有法语字符都将在我的屏幕上正确显示。
所以,似乎我的QT应用程序可以处理法语字符,但我需要重新启动mysqld才能使它发生!
我想首先启动我的QT应用程序然后启动mysqld,但我需要访问数据库,因为它还没有启动,我的应用程序出错了。
有什么线索?
更新20170524
这是我的数据库信息:
mysql> show variables like "collation_database";
+--------------------+-------------------+
| Variable_name | Value |
+--------------------+-------------------+
| collation_database | latin1_swedish_ci |
+--------------------+-------------------+
mysql> show variables like "%character%"; show variables like "%collation%";
+--------------------------+-------------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /mnt/data/part1/usr/local/mysql/share/charsets/ |
+--------------------------+-------------------------------------------------+
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+