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中文问题形式有多种多样,产生的原因也非常复杂,但不论什么样的乱码问题,总有一个解决办法。只不过这个办法,谁也说不出,只能靠你自己多试。 |