这是很头痛的问题,一直都是在困扰着我们。我有一个不算简单也不算难的方法,这是我一直在用的方式。
1、建立一个类,包括一个格式将中文转换为ISO8859-1编码的方法:
publicclass Format2Chinese {
public Format2Chinese() {
}
public String format2IS08859(String str) {
try {
if (str == null str.trim().equals(""))
str = "";
else
str = new String(str.getBytes("ISO8859-1"));
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
}
2、你的bean里面这时就要加一些东西了,如下面这个简单的bean:
publicclass Leavemsg
{
public Leavemsg() {
}
//这个要加的,因为写入的时候我们不格式,写出的时候格式化
public Leavemsg(boolean format) {
this.format = format;
}
private String msg;
booleanformat = false; //用于确定是否将字符格式转换
Format2Chinese function = new Format2Chinese();
publicvoid setMsg(String msg) {
if (format) {
this.msg = function.format2IS08859(msg);
} else
this.msg = msg;
}
public String getMsg() {
return msg;
}
}
3、在用bean装数据的时候,这样声明:
Leavemsg msg=new Leavemsg(true); 然后其它的操作都是一样的,就OK了。
这时页面显示中文的时候就不会出问题了,在JSP页面里这可以这样,用该类做包装得到的内容。