发生种功效的原因是Tomcat中对付post要领提交的表单回收的默认编码为ISO-8859-1,而这种编码名目不支持中文字符。对付这个问题可以回收转换编码名目标要领来办理,此刻对AcceptFromCharset这个页面窜改如下:
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%> <html> <head> <title>Form中文乱码</title> </head> <body> <font size="2"> 下面是表单提交今后用request取到的表单数据:<br> <% String userName = request.getParameter("userName"); String password = request.getParameter("password"); out.println("表单输入userName的值:" + new String(userName.getBytes("ISO-8859-1"), "gb2312")+ "<br>"); out.println("表单输入password的值:" + new String(password.getBytes("ISO-8859-1"), "gb2312")+ "<br>"); %> </font> </body> </html>
颠末这样的转换编码今后,所有的中文输入都可以用request工具正常取出。在上面这个措施中,第四行和第五行是转换编码名目标要害,先从ISO-8859-1名目标字符串中取出字节内容,然后在用GB2312的编码名目从头结构一个新的字符串。这样就可以支持中文变淡输入的正常取值和显示。改造今后措施运行功效如下
颠末上面的变动编码名目标处理惩罚,表单的中文输入乱码问题已经获得办理。可是假如上面的表单中的输入项不止是两个,那么每个输入项都需要举办编码转换,那样就很贫苦了。这是我们就用到了台甫鼎鼎的过滤器filter了。关于这里的内容大抵的思虑和上面的一样详细做法请参照笔者的另一篇文章。
四、Eclipse中JSP文件中文乱码
在Eclipse可能MyEclipse中由于默认的JSP编码名目为ISO-8859-1,所以当打开由其他编辑器编辑的JSP文件时会呈现乱码,如图所示
对付这个问题我们只需要变动一下Eclipse可能是MyEclipse中对JSP的默认编码就可以了,修改的处所(我的MyEclipse版本为11)如图所示
PS
在Eclipse可能MyEclipse傍边JSP文件默认的编码为ISO-8859-1,所以在JSP代码中间假如呈现中文就不能生存,譬喻如下代码
<%@ page language="java" import="java.util.*" %> <html> <head> <title>中文显示示例</title> </head> <body> 这是一其中文显示示例: <% String str = "中文"; out.print(str); %> </body> </html>
修改后在生存的时候会提示如下:
现这个提示的原因在于JSP源文件中有ISO=8859-1编码无法识此外中文字符,对付这个问题,办理步伐就是在JSP页面中声明页面编码名目即可。声明儿女码如下:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312" %> <html> <head> <title>中文显示示例</title> </head> <body> 这是一其中文显示示例: <% String str = "中文"; out.print(str); %> </body> </html>
个中第一行中pageEncoding=“gb2312”指明白JSP页面编码回收GB2312,这样就可以正常生存JSP的源文件了。
碰着问题首先阐明问题呈现的原因,只有知道了原因才气去办理,进修阐明问题的来历远比办理这个问题重要的多。
乱码问题的原因就是措施(Eclipse也好,欣赏器也罢)的编码没有和编程人员的编码举办统一,(就像你和一个不懂中文的人用中文交换他虽然不懂了)那么办理这个问题只需要将编程人员想要的编码汇报措施就可以了,以上办理乱码问题的各种要领都可以说是一种声明编码的进程,也就是说乱码问题终极办理方案就是:转码。这里的转码要么是编程人员手动转,要么就是声明一下让措施去转,换句话说就是:和不懂中文的交换,要么让他学中文,要么你就去进修他的语言。
糊口就是编程,编程就是糊口,同之,通之!!!
到此这篇关于JSP呈现中文乱码问题办理要领详解的文章就先容到这了,更多相关JSP中文乱码问题办理要领内容请搜索剧本之家以前的文章或继承欣赏下面的相关文章但愿各人今后多多支持剧本之家!
您大概感乐趣的文章: