4

我遇到了一个问题,客户端程序需要使用视图,但它需要结果为 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      |
+----------------------+----------------------+
4

2 回答 2

10

尝试运行以下命令:

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 之后

于 2012-02-27T02:20:43.433 回答
0

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

    SET character_set_client=latin1
    SET character_set_connection=latin1
    SET character_set_results=latin1
于 2012-02-23T22:20:04.897 回答