数据库区发了一贴寻求帮助了,这里再发一贴使用 JSP 操作 SQLite,其中文问题总也没有头绪,都说 SQLite 使用的 UTF-8 编码,但是用下面代码插入的中文数据通过 sqliteadmin 这个软件看到的内容仍然是乱码。有哪位达人帮忙解释一下原因么?不胜感激 使用的 sqlitejdbc-v056.jar 这个引擎,SQLite 数据库也是以 UTF-8 编码新建的。 <%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" language="java" import="java.sql.*"%>
<%
request.setCharacterEncoding("utf-8");
String body = request.getParameter("body"); try {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:/d:/test.db");
Statement stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY); String sql = "INSERT INTO ttable(id, name) VALUES('1', '" + body + "')";
stmt.executeUpdate(sql); stmt.close();
conn.close();
} catch(Exception e) {
out.println(e.getMessage());
return;
}
%>
<%
request.setCharacterEncoding("utf-8");
String body = request.getParameter("body"); try {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:/d:/test.db");
Statement stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY); String sql = "INSERT INTO ttable(id, name) VALUES('1', '" + body + "')";
stmt.executeUpdate(sql); stmt.close();
conn.close();
} catch(Exception e) {
out.println(e.getMessage());
return;
}
%>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货