日期:2014-05-18  浏览次数:20662 次

为什么我用中文注册之后在页面中显示的是????但是在数据库中显示正常
我用了request.setCharacterEncoding( "gb2312 ")也没用

------解决方案--------------------
在web.xml中使用Filter对文字的编码进行统一的处理。稍微复杂一些。
或者,简单说就是页面要使用一种编码,例如GB2312,在Action中传递中文的时候使用编码转换。
具体用法记不清了,大概是String a =new String(b.getBytes(“GB2312”),“GB2312”);
因为页面的编码和传递参数时的编码缺省使用的是ISO8859-1。

数据库支持多语言比较好,所以没有问题。
问题出现页面显示的时候。
------解决方案--------------------
加入下面代码,将要显示的内容用getStr方法转换一下..
<%!
public String getStr(String s)
{
String str=s;
try
{
byte b[]=str.getBytes( "ISO-8859-1 ");
str=new String(b);
return str;
}
catch(Exception e)
{return null;}
}
%>