Tia*_*tos 5 mysql connection character-encoding
我在 Mac 上使用带有 MySQL 的 velosurf,没有任何编码问题,但是当我切换到 Linux 计算机时,从 velosurf 获得的值未正确编码。
我发现这可能是默认连接字符集的问题。在 Mac 上我得到:
mysql> show variables like "collation_%";
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)
mysql> show variables like "character_set_%";
+--------------------------+--------------------------------------------------------+
| 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 | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.5.11-osx10.6-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
在 Linux 机器上,我有:
mysql> show variables like 'collation_%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | utf8_general_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
数据库排序规则和字符集是在创建数据库时设置的。我的问题是我无法更改客户端/连接/结果的默认字符集。
此外,在启动连接时似乎没有任何方法可以使用 velosurf 设置字符集。
有什么建议么?
我发现 MySQL 在以 root 身份连接时将始终使用默认字符集。但它对于有限的用户来说工作正常(这是我从一开始就应该做的事情)。
这个“功能”似乎是 Linux 特有的。至少在 OS X 中不会发生这种情况。
| 归档时间: |
|
| 查看次数: |
12318 次 |
| 最近记录: |