Установить переменные сеанса в спящем режиме - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь прочитать китайский символ (например: 早上 好) из БД MySQL, размещенной на сервере.

Переменные сеанса на стороне сервера выглядели так:

ПОКАЗАТЬ СЕССИЮПЕРЕМЕННЫЕ, КАК 'char%';

+--------------------------+----------------------------------------+
| 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       | folder/charsets/                       |
+--------------------------+----------------------------------------+

Я не мог установить переменные через файл hibernate.cfg, но я попытался установить их, используя следующий код. Все еще не работал. Попытка установить переменные сеанса путем непосредственного выполнения запроса

    Session session = sessionFactory.openSession(); 
    session.beginTransaction();
    SQLQuery setQuery1 = session.createSQLQuery("set character_set_client=?;");
    setQuery1.setParameter(0, "latin1");
    setQuery1.executeUpdate();

После изменений отображается тот же запрос (SHOW SESSION VARIABLES LIKE 'char%';) при запуске через Hibernate (с тем же подключением) отображаетожидаемые значения для переменных сессии. Однако результат запроса для отображения китайского символа кажется поврежденным или нечитаемым (что-то вроде «é˜ ç´ç '° 礻)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...