我的 mysql 缓冲区似乎有问题,我用它通过 ssh 连接连接到包含 latin1 数据的数据库。
live [db]> show variables like '%char%';
+--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
显示存储在数据库中的数据没有问题:
live [db]> SELECT title FROM manual limit 4,1;
+----------+
| title |
+----------+
| Allmänt |
+----------+
1 row in set (0.07 sec)
(注意 ä)。
但是,当我尝试向数据库输入内容时,它的编码不正确。例如:
live [db]> SELECT 'ä' ;
+--+
| |
+--+
| |
+--+
如果我 ssh 到包含数据库的服务器,并直接与 mysql 客户端连接,我就没有这个问题。