老问题,请教一个中文显示的问题?
我把页面表单的参数设置和javabean的参数一样,然后用<jsp:setProperty name="cksj" property="*"/>
来取得表单的参数。然后写到数据库里,在javabean里我转换了编码,如下:
public void setName(String newID)
{ try{ name=new String(newID.getBytes("ISO-8859-1"),"GB2312");}
catch(Exception e){}}
public String getName()
{ return name;}
可以把数据写到数据库里,但是中文都成了乱码。
一般编码转换在那里做比较好,页面上还是javabean里。为什么我上面的代码转换不了???
请有经验的朋友指点。。。
问题点数:20、回复次数:4Top
1 楼ruanjiantaotao(涛涛)回复于 2006-05-04 12:21:31 得分 0
一般来说,在jsp文件中加入
<%@page language="java" contentType="text/html; charset=gb2312"%>
<%request.setCharacterEncoding("GBK");%>
再用函数String str = new String(str.getBytes("ISO-8859-1"),"GBK");转换即可
Top
2 楼luowenqigood()回复于 2006-05-04 14:30:18 得分 0
请问 ruanjiantaotao
我把参数都传入javabean里了,在页面上转换没用啊!
我试了你的方法,还是不行啊?Top
3 楼franksmith(我是谁)回复于 2006-05-04 14:37:18 得分 0
我的做法是全部用UTF-8编码
<%@ page contentType="text/html; charset=UTF-8" %>
一般来说就没有问题了。
如果还不行的话把ServletRequest的编码也设一下:request.setCharacterEncoding("UTF-8")Top
4 楼Java_Server_Pages()回复于 2006-05-04 19:05:47 得分 0
只要在代码中加入此段代码
byte b[ ] = (字符串名).getBytes("ISO-8859-1");
( 字符串名 ) = new String(b);
就可以很方便的解决乱码问题
如果要反复调用,就写成方法.
Top




