| 如何解决JSP页面显示乱码问题 |
| |
发布者: 发布时间:2007-09-23 |
|
|
|
一、JSP页面显示乱码
二、表单提交中文时出现乱码
三、数据库连接时出现乱码
大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。
一、JSP页面显示乱码
下面的显示页面(display.jsp)就出现乱码:
<html> <head> <title>JSP的中文处理</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head>
<body> <% out.print("JSP的中文处理"); %> </body> </html>
对不同的WEB服务器和不同的JDK版本,处理结果就不一样。原因:服务器使用的编码方式不同和浏览器对不同的字符显示结果不同而导致的。解决办法:在JSP页面中指定编码方式(gb2312),即在页面的第一行加上:
英文代码<%@ page contentType="text/html; charset=gb2312"%>
就可以消除乱码了。完整页面如下:
<%@ page contentType="text/html; charset=gb2312"%> <html> <head> <title>JSP的中文处理</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head>
<body> <% out.print("JSP的中文处理"); %> </body> </html>
二、表单提交中文时出现乱码
下面是一个提交页面(submit.jsp),代码如下:
<html> <head> <title>JSP的中文处理</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head>
<body> <form name="form1" method="post" action="process.jsp"> <div align="center"> <input type="text" name="name"> <input type="submit" name="Submit" value="Submit"> </div> </form> </body> </html>
下面是处理页面(process.jsp)代码:
<%@ page contentType="text/html; charset=gb2312"%> <html> <head> <title>JSP的中文处理</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head>
<body> <%=request.getParameter("name")%> </body> </html>
如果submit.jsp提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:浏览器默认使用UTF-8编码方式来发送请求,而UTF-8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。解决办法:通过request.seCharacterEncoding("gb2312")对请求进行统一编码,就实现了中文的正常显示。修改后的process.jsp代码如下:
<%@ page contentType="text/html; charset=gb2312"%> <% request.seCharacterEncoding("gb2312"); %> <html> <head> <title>JSP的中文处理</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head>
<body> <%=request.getParameter("name")%> </body> </html>
三、数据库连接出现乱码
只要涉及中文的地方全部是乱码,解决办法:在数据库的数据库URL中加上useUnicode=true&characterEncoding=GBK就OK了。
四、数据库的显示乱码
在mysql4.1.0中,varchar类型,text类型就会出现中文乱码,对于varchar类型把它设为binary属性就可以解决中文问题,对于text类型就要用一个编码转换类来处理,实现如下:
public String iso2gb(String qs) { try{ if (qs == null) return "NULL"; else { return new String(qs.getBytes("iso-8859-1"),"gb2312"); } } catch(Exception e){ System.err.println("iso2gb error:"+e.getMessage()); } return "NULL"; }
public String gb2iso(String qs) { try { if (qs == null) return "NULL"; else { return new String(qs.getBytes("gb2312"),"iso-8859-1"); } } catch(Exception e){ System.err.println("gb2iso error:"+e.getMessage());} return "NULL"; }
字符存入数据库时用 gb2iso()函数,将字符从数据库取出时,再用 iso2gb()函数
|
| (转载文章请保留出处:北天JAVA技术网(www.java114.com)) |
| |
| 更多精彩文章: |
| 实现JSP数据和JavaScript数据交互使用 |
| 关于JSP/Servlet中的重定向技术的综述 |
| 经验分享全过程JSP程序员完全蜕变手册 |
| JSP+JavaBean+Servlet工作原理实例讲解 |
| 用SAX的代码生成器降低SAX解析器的繁琐 |
| 用于数据的XML:对XQuery的前瞻 |
| |
| 最近评论: |
|
|
| 春暖花开 |
| wow power leveling2
wow power leveling gvf
wow power levelingfcvg
wow power leveling
wow power leveling
wow powerlevelingfcgv
wow powerlevelingwq4
wow powerleveling
wow powerleveling
wow powerleveling
world of warcraft power leveling
world of warcraft power leveling
world of warcraft power leveling
world of warcraft power levelingszr
world of warcraft power leveling
world of warcraft powerleveling
world of warcraft powerlevelinge5t
world of warcraft powerleveling
world of warcraft powerleveling
world of warcraft powerleveling
wow gold
wow gold
wow goldrfy5
wow gold
wow gold
world of warcraft goldre
world of warcraft goldgh
world of warcraft gold
world of warcraft goldfr
world of warcraft gold
AOC Power Levelinggvgv
AGE OF CONAN Power Levelingllwwbb928
v7i6r7sm |
|
|
| 春暖花开 |
| wow power leveling2
wow power leveling gvf
wow power levelingfcvg
wow power leveling
wow power leveling
wow powerlevelingfcgv
wow powerlevelingwq4
wow powerleveling
wow powerleveling
wow powerleveling
world of warcraft power leveling
world of warcraft power leveling
world of warcraft power leveling
world of warcraft power levelingszr
world of warcraft power leveling
world of warcraft powerleveling
world of warcraft powerlevelinge5t
world of warcraft powerleveling
world of warcraft powerleveling
world of warcraft powerleveling
wow gold
wow gold
wow goldrfy5
wow gold
wow gold
world of warcraft goldre
world of warcraft goldgh
world of warcraft gold
world of warcraft goldfr
world of warcraft gold
AOC Power Levelinggvgv
AGE OF CONAN Power Levelingllwwbb928
w7v6b7qy |
|
|
| 鍥炲 |
|
|
|
| 轻轻走过你的窗前! |
| world of warcraft gold,cheap world of warcraft gold,warcraft gold,world of warcraft gold,cheap world of warcraft gold,warcraft gold, max(6852) |
|
|
| 轻轻走过你的窗前! |
| world of warcraft gold,cheap world of warcraft gold,warcraft gold,world of warcraft gold,cheap world of warcraft gold,warcraft gold max(7718) |
|
|
| 不在的哪天! |
| final fantasy xi gil,final fantasy xi gil,final fantasy xi gil,final fantasy xi gil,
max(364) |
|
|
| 快乐情人节! |
| wow gold,wow gold,wow gold,wow gold,wow gold,wow gold,wow gold buy wow gold for cheap.
max(6653) |
|
|
| 没有情人的情人节! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(903) |
|
|
| 回复:如何解决JSP页面显示乱码问题 |
| 08.2.14只有努力寻找的人才能找到,大门只会对扣门的人敞开。Google优化排名窃听器手机窃听器留学留学中介荷兰留学留学荷兰英国留学留学英国英国高中英国硕士加拿大留学留学加拿大澳大利亚留学留学澳大利亚美国留学留学美国法国留学留学法国新加坡留学留学新加坡瑞典留学留学瑞典澳洲留学留学澳洲英国大学排名美国大学排名加拿大签证英国签证美国签证雅思考试托福考试专升本阿姆斯特丹商学院鹿特丹商学院莫那什大学出国出国留学印刷印刷厂北京印刷北京印刷厂窃听器手机窃听器监听器手机监听器监听器手机监听器电话窃听器电话监听器无线窃听器无线监听器小灵通窃听器微型窃听器窃听器手机窃听器监听器手机监听器塑胶跑道聚脲防水聚脲防腐门禁系统保洁婚庆公司保洁公司
|
|
|
| 回复:如何解决JSP页面显示乱码问题 |
| 08.2.14只有努力寻找的人才能找到,大门只会对扣门的人敞开。Google优化排名窃听器手机窃听器留学留学中介荷兰留学留学荷兰英国留学留学英国英国高中英国硕士加拿大留学留学加拿大澳大利亚留学留学澳大利亚美国留学留学美国法国留学留学法国新加坡留学留学新加坡瑞典留学留学瑞典澳洲留学留学澳洲英国大学排名美国大学排名加拿大签证英国签证美国签证雅思考试托福考试专升本阿姆斯特丹商学院鹿特丹商学院莫那什大学出国出国留学印刷印刷厂北京印刷北京印刷厂窃听器手机窃听器监听器手机监听器监听器手机监听器电话窃听器电话监听器无线窃听器无线监听器小灵通窃听器微型窃听器窃听器手机窃听器监听器手机监听器塑胶跑道聚脲防水聚脲防腐门禁系统保洁婚庆公司保洁公司
|
|
|
| |
| 免责声明:该文章由网友发表,如果对您造成侵权,请联系站长。 |