Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 725|回复: 0

#Oracle-JSP 汉字乱碼 ★

[复制链接]

该用户从未签到

发表于 2011-10-31 09:35:11 | 显示全部楼层 |阅读模式
Oracle JSP 乱码
1.数据库
--删除表tushumingxi
drop table tushumingxi;
--创建表
create table tushumingxi
(
Shu_name varchar(50)
);

--提交
commit;

3.写一个数ju库连接Delei
package com.hbut.onlineShopping;

import java.sql.*;

public class DataBaseConnection {
......
private Connection conn = null ;

public DataBaseConnection() {
//构造方法
.....
}
public Connection getConnection() {
return this.conn ;
}
...关闭数据库
}

2.用JavaBean 寫一个Booklei
package com.hbut.onlineShopping;

import java.sql.Date;

public class Book {
private String shu_name;
public String getShu_name() {
return shu_name;
}
public void setShu_name(String shu_name) {
this.shu_name = shu_name;
}
}

3.声明一geBookDAO接口,确定fang法的名字2
package com.hbut.onlineShopping;

import java.util.*;

public interface BookDAO {
//添加书
public void insertIntoBook(Book book) throws Exception;
}

4.BookDAOImpl实现这個接口
public class BookDAOImpl implements BookDAO {
public void insertIntoBook(Book book) throws Exception {
String sql = "insert into tushumingxi (Shu_name) values (?)";
PreparedStatement pstmt = null;
DataBaseConnection dbc = null;
dbc = new DataBaseConnection();
try {
pstmt = dbc.getConnection().prepareStatement(sql);
pstmt.setString(1, book.getShu_name());
pstmt.executeUpdate();
if(pstmt != null) {
pstmt.close();
pstmt = null;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
dbc.close();
}

}

5.DAOFactory
package com.hbut.onlineShopping;

public class DAOFactory {
public static BookDAO getBookDAOInstance()
{
return new BookDAOImpl() ;
}
}

6.xie一个显示的insertBook.jsp,form表单传递到下一个JSP
<%@ page language="java" contentType="text/HTML; charset=GB18030"
pageEncoding="GB18030"%>
<%
request.setCharacterEncoding("gb2312");
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>添加圖书</title>
</head>
<body>
<table>
<form action="insertToBook.jsp" method="post">
<tr>
<td>图书名稱:<input type="text" name="shu_name"><br></td>
</tr>
<tr>
<td><input type="submit" value="确定"></td>
</tr>
</form>
</table>
</body>
</html>
7.insertToBook.jspyonguseBeande到参数
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="com.hbut.onlineShopping.*" %>
<jsp:useBean id="book" scope="page" class="com.hbut.onlineShopping.Book"/>
<jsp:setProperty name="book" property="*"/>
<%
request.setCharacterEncoding("gb2312");
%>
<%
System.out.println(book.getShu_name());
%>

<%
DAOFactory.getBookDAOInstance().insertIntoBook(book);
out.print("<script>alert('添加图shu成功!');window.history.go(-1);</script>");
%>
8.结果显示
為????亂码



歡迎来到Java学xiZhe論坛,转载请注明地址:http://www.javaxxz.com.
回复

使用道具 举报

该用户从未签到

发表于 2011-10-31 09:35:12 | 显示全部楼层

Re:#Oracle-JSP

数据庫里插入的值呢?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 09:35:16 | 显示全部楼层

Re:#Oracle-JSP

book.java 中

public String getShu_name() {
return shu_name;
}

public void setShu_name(String shu_name) {
try {
this.shu_name = new String(shu_name.getBytes("ISO8859_1"), "GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}

在setters方法中我又加了這段代码,插入数據库,汉字顯示正常
但是从数據库取出來是??? 亂码
我就想问getters是不是也要加段代码
转码,编码 都不清楚
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 09:35:17 | 显示全部楼层

Re:#Oracle-JSP

把所有的GB18030,改成gb2312!!!
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 09:35:18 | 显示全部楼层

Re:#Oracle-JSP

对頭,估计这是服務器内部的編码吧。你要处理的数据在服务器内部,传递到数据庫以及JSP页面的雙向传递。可以在回传到JSP的数據赋值里同样插入这个编码方法。
以前我也出過这樣的问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-3 10:54 , Processed in 0.417077 second(s), 48 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表