Почему мой View utf8 и как я могу изменить его на latin1 - PullRequest
2 голосов
/ 24 февраля 2012

У меня проблема с тем, что клиентской программе нужно использовать 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 ]

6 голосов
/ 27 февраля 2012

Попробуйте выполнить следующие команды:

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

0 голосов
/ 24 февраля 2012

Вам нужно изменить настройки подключения с помощью следующих команд:

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