jsp中文乱码解决方案.
?
?------login.jsp--------?
? 下面是表单内容:
? <formaction="AcceptFormCharset.jsp" method="post">
?????? 用户名:<inputtype="text" name="userName" size="10"/>
?????? 密? 码:<inputtype="password" name="password" size="10"/>
????? <input type="submit"value="提交">
?? </form>?
? ??
-----------AcceptFormCharset.jsp---------
? <body>
? <font size="2">
?? 下面是表单提交以后用request取到的表单数据:<br>
?? <%
????? String userName =request.getParameter("userName");
????? String password =request.getParameter("password");
? ? ? out.println("表单输入userName的值:"+newString(userName.getBytes("ISO-8859-1"),"gb2312")+"<br>");
????? out.println("表单输入password的值:"+newString(password.getBytes("ISO-8859-1"),"gb2312")+"<br>");
? ? 这里所提交的值如果是中文的话,直接用输出就会出现乱码,因为java默认的是用unicode编码,这里采取的方 ? ? 法是将值从ISO-8859-1中提取出来转化为gb2312的编码方式就可以显示出中文
??? %>
?? </font>
? </body>
??????String param = request.getParameter("param");
?? %>
? <body>
??<a href="hehe.jsp?param='中文'">请点击这个链接</a><br>
? 这里提交的表单的值是中文,出现乱码,这个只有修改tomcat下面的conf下面的server.xml的
? <Connector port="8080?URIEncoding="gb2312?protocol="HTTP/1.1"?connectionTimeout="20000"
?????????????? redirectPort="8443"/>
? ?添加这个红色字段的代码就可以解决
??你提交的参数为:<%=param%>
? </body>
?
3. 在servlet接收传参的处理
?在doPost或者在doGet方法加上
?
? response.setContentType("text/html; charset=utf-8");
? request.setCharacterEncoding("utf-8");
? response.setCharacterEncoding("utf-8");
看看英文都知道虾米意思的·~~~~就不多解释了