jdbc oracle 获取结果集乱码
时间: 2023-10-02 17:07:51 浏览: 195
JSP读取ORACLE数据乱码问题
如果在使用 JDBC 连接 Oracle 数据库时,获取到的结果集出现乱码的情况,可以尝试以下几种方法:
1. 在 JDBC 连接字符串中添加字符集参数。例如,可以在连接字符串中添加 `?useUnicode=true&characterEncoding=utf8`,指定使用 UTF-8 字符集进行连接和通信。
2. 在获取 Statement 或 PreparedStatement 对象时,使用 `setCharacterStream` 方法指定字符集。例如,可以使用以下代码:
```java
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setCharacterStream(1, new StringReader(param), "UTF-8");
ResultSet rs = pstmt.executeQuery();
```
3. 在执行查询语句之前,使用 `ALTER SESSION` 命令设置数据库会话的字符集。例如,可以使用以下代码:
```java
Statement stmt = conn.createStatement();
stmt.execute("ALTER SESSION SET NLS_LANG='SIMPLIFIED CHINESE_CHINA.UTF8'");
ResultSet rs = stmt.executeQuery(sql);
```
以上方法中,第一种方法最为常用,可以在连接字符串中添加字符集参数来解决乱码问题。
阅读全文