我正在尝试从服务器上托管的MySQL数据库读取汉字(例如:早上好)。
服务器端的会话变量看起来像这样
SHOW会话变量,如“ 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像'char%';)显示了SESSION VARIABLES的期望值。 但是,显示中文字符的查询结果似乎已损坏或无法读取(有点像“ é∼¿ç´ç’°ç¤”))