注册

jdbc连接docker下的DM8服务器,中文乱码

DM_958025 2023/07/02 771 2

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: v8.1.2.128_ent_x86_64_ctm_pack4
【操作系统】:centos7
【CPU】: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
【问题描述】*:
用docker安装的数据库:
// 加载镜像
docker load -i dm8_20220822_rev166351_x86_rh6_64_ctm.tar
// 运行容器
docker run -d -p 5236:5236 --restart=always --name dm8 --privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e INSTANCE_NAME=dm8 -v /data/dm8:/opt/dmdbms/data dm8_single:v8.1.2.128_ent_x86_64_ctm_pack4

pisql是正常的:

SQL> select * from department; LINEID DEPARTMENT_ID DEPARTMENT_NAME ---------- ------------- --------------------- 1 666 数据库产品中心

客户端用jdbc连接的时候,出现中文乱码:

jdk的版本:

java version "1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

jdbc的版本:

<dependency> <groupId>com.dameng</groupId> <artifactId>DmJdbcDriver18</artifactId> <version>8.1.1.193</version> </dependency>
@Test public void testJdbc() throws Exception{ Class.forName("dm.jdbc.driver.DmDriver"); Connection connection = DriverManager.getConnection("jdbc:dm://192.168.137.138:5236?LANGUAGE=EN", "DM", "dameng123"); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("select * from department"); while(resultSet.next()){ System.out.println(resultSet.getString(1) + " : " +resultSet.getString(2)); } resultSet.close(); statement.close(); connection.close(); }

输出结果乱码:
image.png

麻烦大佬帮忙看看,多谢

回答 0
暂无回答
扫一扫
联系客服