【发布时间】:2014-05-20 16:53:20
【问题描述】:
我的数据库中有两个表。我想从 MySQL Server 的命令行中查看他们的名字。
mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| ╨╖╨░╨║╨░╨╖╤Л |
| ╨║╨╗╨╕╨╡╨╜╤В╤Л |
+----------------+
2 rows in set (0.00 sec)
我的第一个猜测是他们的名字用错误的字符集编码。我找到了下一个命令来查看我正在使用的字符集
mysql> show variables like 'char%';
输出是:
+--------------------------+----------------------------------------------------+
| Variable_name | Value
|
+--------------------------+----------------------------------------------------+
| character_set_client | utf8
|
| character_set_connection | utf8
|
| character_set_database | utf8
|
| character_set_filesystem | binary
|
| character_set_results | utf8
|
| character_set_server | utf8
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files (x86)\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+-----------------------------------------------------+
8 rows in set (0.00 sec)
所以这里似乎还可以,问题出在其他地方。我发现了类似的问题charsets in MySQL replication,所以我的结论是我的配置有问题。那么我应该如何修改配置来改变结果呢?
已解决
所以问题实际上在于错误解释表名的控制台编码。我通过将表名重命名为拉丁字母来解决它。正如RandomSeed 提到的另一种方法是更改控制台编码。
【问题讨论】:
标签: mysql sql command-line