-
查看Oracle数据库字符集编码
select userenv('language') from dual;
-
将要查询的记录

-
SpringBoot连接Oracle数据库(版本是11g)
-
maven依赖
<dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.4</version> </dependency> -
yml配置
spring: datasource: url: jdbc:oracle:thin:@//172.*.*.*:1521/orcl username: * password: * driver-class-name: oracle.jdbc.driver.OracleDriver
-
-
使用MybatisPlus查询,发现中文乱码

-
解决方式有两种,动态和全局转换(推荐)字符编码
-
动态
//存=>客户端字符串转ISO-8859-1后插入数据库 new String(str.getBytes("GBK"), "ISO-8859-1"); //取=>数据库字符串转为GBK后查看 new String(str.getBytes("ISO-8859-1"), "GBK"); -
全局
-
引入druid连接池
<dependency><!--druid--> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency> -
修改yml配置
#1.url前添加jdbc:wrap-jdbc:filters=encoding: #2.添加type: com.alibaba.druid.pool.DruidDataSource #3.添加druid.connection-properties: serverEncoding=ISO-8859-1;clientEncoding=GBK;defaultRowPrefetch=50;bigStringTryClob=true #注意第3.条后面的defaultRowPrefetch和bigStringTryClob可以不加 spring: datasource: url: jdbc:wrap-jdbc:filters=encoding:jdbc:oracle:thin:@//172.16.100.102:1521/orcl username: wangyh password: wangyh driver-class-name: oracle.jdbc.driver.OracleDriver type: com.alibaba.druid.pool.DruidDataSource druid: connection-properties: serverEncoding=ISO-8859-1;clientEncoding=GBK -
之后查询中文乱码问题正常

-
-
SpringBoot查询Oracle数据库,中文乱码问题解决
最新推荐文章于 2025-05-16 20:09:24 发布
本文介绍了在SpringBoot中连接Oracle数据库时遇到的中文乱码问题及其解决方案。通过在Maven中添加ojdbc6依赖和调整YML配置来建立连接。当查询出现乱码时,提供了两种解决方法:动态转换字符编码和全局配置Druid连接池。动态转换涉及插入和查询时的编码转换,而全局解决方案是引入Druid连接池并设置相应的连接属性,从而解决乱码问题。
1307

被折叠的 条评论
为什么被折叠?



