读书人

jsp中文乱码解决方案

发布时间: 2012-09-04 14:19:30 作者: rapoo

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");

看看英文都知道虾米意思的~~~~就不多解释了

读书人网 >JavaScript

热点推荐