最近在做EJB,乱码的问题很严重,先后解决了写入数据库,页面传递等乱码问题,但是现在是将实体bean传到EJB容器中时,出现了乱码,EJB容器的编码方式不是gb2312,我该怎么修改呢?
这是EJB实现
public class adminAction implements adminActionRemote {
@PersistenceContext
protected EntityManager em;

public boolean addBook(Book book) {
try{
if(book!=null){
String bookName = book.getBookName();
bookName = new String(bookName.getBytes("ISO-8859-1"),"GBK");
System.out.print(bookName);
}

em.persist(book);
}catch (Exception e){
e.printStackTrace();
}
return true;
}
。。
这是调用
public class addBook extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.setCharacterEncoding("gb2312");//设置输入编码格式
response.setContentType("text/html;charset=GB2312"); //设置输出编码格式
// response.setCharacterEncoding("gb2312");//使用出项乱码
PrintWriter out = response.getWriter();

Properties props = new Properties();
props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "localhost:1099");
props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming");
InitialContext ctx;
try {
ctx = new InitialContext(props);
adminActionRemote admin = (adminActionRemote) ctx.lookup("adminAction/remote");
String bookid = request.getParameter("bookid");
String catalogid = request.getParameter("catalog");
String bookName = request.getParameter("bookName");
String bookIsbn = request.getParameter("bookIsbn");
String author = request.getParameter("author");
String publisher = request.getParameter("publisher");
String price = request.getParameter("price");
String sprice = request.getParameter("sprice");
String number = request.getParameter("number");
String picture = request.getParameter("picture");
Book book = new Book();
// book.setBookid(bookid);
// book.setCatalog(catalog);
book.setBookName(bookName);
book.setBookIsbn(bookIsbn);
book.setAuthor(author);
book.setPublisher(publisher);
book.setPrice(Float.parseFloat(price));
book.setSprice(Float.parseFloat(sprice));
book.setNumber(Integer.parseInt(number));
book.setPicture(picture);
Catalog catalogBean = new Catalog();
if(catalogid.equals("1")){
catalogBean.setCatalogid(Integer.parseInt(catalogid));
book.setCatalog(catalogBean);
}
if(book!=null){
if(admin.addBook(book)){
System.out.print("yes");
}else{
System.out.print("no");
}
}
out.print(bookName+" "+book.getBookName()+" "+publisher);
}catch(Exception e){
e.printStackTrace();
} }。。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【shiyecao】截止到2008-08-03 00:06:36的历史汇总数据(不包括此帖):
    发帖的总数量:7                        发帖的总分数:40                       每贴平均分数:5                        
    回帖的总数量:4                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:7                        结贴的总分数:40                       
    无满意结贴数:3                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:42.86 %               无满意结分率:0.00  %                  
    敬礼!

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=shiyecao