为什么我的View utf8以及如何将其更改为latin1

时间:2012-02-23 22:11:59

标签: mysql view utf-8 character-encoding latin1

我遇到的问题是客户端程序需要使用View,但它需要的结果为latin1。 这就是我所拥有的:

mysql> show global variables like 'character_set%';
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+

mysql> Select CHARACTER_SET_CLIENT, COLLATION_CONNECTION FROM information_schema.VIEWS v;
+----------------------+----------------------+
| CHARACTER_SET_CLIENT | COLLATION_CONNECTION |
+----------------------+----------------------+
| utf8                 | utf8_general_ci      |
+----------------------+----------------------+

2 个答案:

答案 0 :(得分:6)

尝试运行以下命令:

SET character_set_client = latin1;
SET character_set_results = latin1;
SET character_set_connection = latin1;
DROP VIEW your_view;
CREATE VIEW your_view as (
    here_goes_your_view_query);

基本上我们正在重新创建视图。我已经在本地进行了测试,并且即使在将数据库,表格和列设置为默认为utf8

之后也能正常工作

答案 1 :(得分:0)

您需要使用以下命令更改连接设置:

    SET character_set_client=latin1
    SET character_set_connection=latin1
    SET character_set_results=latin1