日期:2014-05-16  浏览次数:20473 次

数据库编程之编码转换实例--乱码分析

1问题描述

最近有人问我问题,说在Java中以UTF-8编码读UTF-8编码的文件test.htm,存入oracle数据库后再读出,一切正常。在JavaUTF-8编码读UTF-8编码的文件test.htm,存入kingbase数据库后再读出,文件中出现乱码,不知为何。

2具体现象

具体现象如下:

Java中读UTF-8编码的文件test.htm,存入数据库后再读出,文件中出现乱码

?

原文件图如下:



?

3 存入数据库再读出后出现乱码如下:



?

注:前面两幅图中“合资公司双方出资比例的问题”前面的那个“?”变成了“?”。

?

?

4 相关代码?

下面是模拟这个过程的读写文件和写读数据库的java代码:

?

import java.io.ByteArrayOutputStream;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.sql.Clob;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;