JSP中文问题解决方案超级大总结 - Java企业开发 - ITPUB论坛 - Power...

来源:百度文库 编辑:神马文学网 时间:2024/04/30 19:56:53
JSP中文问题解决方案超级大总结
1、JSP页面显示的中文问题
Page的第一行改成:<%@ page contentType="text/html; charset=UTF-8" %>
Head里加:
2、页面Form 内容提交的中文问题
1)只要把%TOMCAT安装目录%/ webapps\jsp-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的webapp目录下的filters下,如果没有filters目录,就创建一个。
2)在你的web.xml的之前加入:

Set Character Encoding
filters.SetCharacterEncodingFilter

encoding
UTF-8



Set Character Encoding
/*

或者你不习惯用这个,可以在每个jsp页面里使用request.setCharacterEncoding("UTF-8";我个人感觉是一样的
3、get方式的解决办法
1) 打开tomcat的server.xml文件,找到区块,加入如下一行:URIEncoding="UTF-8"
完整的应如下:
maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="UTF-8"/>
2)重启tomcat,一切OK。
当然还有最土的解决方案,虽然不太会用到,不过还是列出来,以备最无奈的时候使用:
String encodeStr=new String(fieldValue.getBytes("8859_1", "UTF-8";
执行如下test.jsp页面,测试是否成功
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page import="java.util.*"%>

<%
String q=request.getParameter("q";
q = q == null?"没有值":q;
%>


新闻列表显示
你提交了:<%=q%>


输入中文:

通过get方式提交



4、mysql的中文问题
首先要修改mysql配置文件的encoding为UTF-8,然后把jdbc connection改成如下:
jdbc:mysql://localhost:3306/bookuseUnicode=true;characterEncoding=UTF-8
备注:本文参考了网上的部分资料,谢谢大家的共享精神。
还有什么例外的情况,请大家积极补充