作者:CocoChen (Java-CN.COM 站长)
1、页面上的中文字符乱码
假如在编辑jsp网页时,在编辑器中显示是正常的中文字符,而发布后在浏览器中显示却是乱码,那可以试试在网页的第一句加上如下一句代码:
<%@page contentType="text/Html;charset=gb2312"%>
假如你的网页已经有上面一句话,而出现了中文乱码,那你可以试试把上面这句话删除。
2、从mysql数据库中读取或写入中文字符出现乱码
你首页试一下如上所述的第一点解决方法,假如仍不能解决,则可以试一下,在将中文字符串存入数据库时用如下一段函数转换一下编码:
public String gb2iso(String qs)
{
try
{
if (qs == null) return "NULL";
else return new String(qs.getBytes("gb2312"),"iso-8859-1");
}
catch(Exception e)
{
log("gb2iso error:"+e.getMessage());
}
return "NULL";
}
下次从数据库读取中文字符串时,再用如下的函数把编码转换回来:
public String iso2gb(String qs)
{
try
{
if (qs == null) return "NULL";
else return new String(qs.getBytes("iso-8859-1"),"gb2312");
}
catch(Exception e){log("iso2gb error:"+e.getMessage());}
return "NULL";
}
注重:上面这两个函数应配合着成对使用,并且要多试,必要时再配合方法1。
3. (不断增加之中....)
总之,JSP中文问题形式有多种多样,产生的原因也非常复杂,但不论什么样的乱码问题,总有一个解决办法。只不过这个办法,谁也说不出,只能靠你自己多试。