关于中文显示的问题! 我在论坛上http://blog.csdn.net/yun15291li/archive/2005/05/04/372142.aspx看到了解决显示中文的文章,可里面的配置filter看不懂,,,不知道如何配置,那位高手教教我如何配置wed.xml 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实文中的Filter在Tomcat自己带的例子中就有了,你按下面步骤做1 实现一个Filter.设置处理字符集为GBK。 在tomcat的webapps/servlet-examples目录有一个完整的例子。 请参考web.xml和SetCharacterEncodingFilter的配置。 1)只要把%TOMCAT安装目录 webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class 文件拷到你的webapp目录/filters下,如果没有filters目录,就创建一个。 2)在你的web.xml里加入如下几行: <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 3)完成.2.get方式的解决办法 1)打开tomcat的server.xml文件,找到Connector区块,加入如下一行: URIEncoding=”GBK” 完整的应如下: <Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/> 2)重启tomcat,一切OK。 我用的是sunone服务器,没有server.xml文件怎么办? 你直接在jsp页面设置中文编码方式不行吗?比如:<%@ page contentType="text/html; charset=gbk" language="java" import="java.sql.*" %>或<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>或<%@ page contentType="text/html; charset=GB18030" language="java" import="java.sql.*" %> 请问楼上的,你说的在wed.xml里配置Fileter 要怎么配置? 看web.xml的DTD。你就知道怎么配了。 其实解决 JAVA 程序中的汉字编码问题的方法往往很简单,但理解其背后的原因,定位问题,还需要了解现有的汉字编码和编码转换。相信这样的东西大家都见过了new String(request.getParameter("test").getBytes("iso-8859-1"),"GBK")但这样的代码相信不是一个解决的办法,这样会增加程序的复杂度,写数据库,提交表单,URL中传中文参数,到处都是中文问题!作为一个连走路都要算计最短距离的懒人,当然不愿天天叨念着new String(request.getParameter("test").getBytes("iso-8859-1"),"GBK"),然汉战战兢兢的处理各种字符转换的问题,我跋山涉水,翻山越岭,终于找到了完美的解决方式,在TOMCAT中只需要简单的配置,引入2个文件就可以轻松搞定。前提条件,每个页面使用<%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage="" %><meta http-equiv="Content-Type" content="text/html; charset=GBK">步骤1:添加过滤器在TOMCAT中找到这2个文件RequestDumperFilter.java,SetCharacterEncodingFilter.java,他们位于D:\Tomcat5.0.27\webapps\jsp-examples\WEB-INF\classes\filters,加到你的工程文件里去,编译他们。步骤2:配置WEB.XML在web.xml里加入这一段……<filter><filter-name>Set Character Encoding</filter-name><filter-class>filters.SetCharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>GBK</param-value></init-param></filter><filter-mapping><filter-name>Set Character Encoding</filter-name><url-pattern>/*</url-pattern></filter-mapping>……这样你就不用写那些麻烦的转换代码了,当然这样还不足以解决问题。步骤3:修改server.xml在server.xml修改2个地方<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK'/><Connector className="org.apache.coyote.tomcat5.CoyoteConnector" port="8009" minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443"acceptCount="10" debug="0" connectionTimeout="0" useURIValidationHack="false" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" URIEncoding='GBK'/> 我用的是SunOne服务器,难道在SunOne下就没有好的解决办法? 那就使用utf8,所有文字格式的显示都能解决 能说一下utf8具体怎么用吗? 1.把java,jsp文件等的存储格式都设置为utf8(可以通过设置eclipse中编码格式实现)2.使用request之前,设置request.setCharacterEncoding("UTF-8");3.在jsp页面的页首<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">4.需要使用?来进行doget传递的时候,非ansi参数要用URLEncoder.encode(strParameter, "UTF-8") 配置hibernate的问题 一个类继承父类又实现了Runnable接口如何启动? 新下的MY Eclipse里面的TOMCAT弄不了 大家进来帮帮我啊 下面两段代码哪一段的执行效率高? a[0]="中国人)"; 怎么把")" 去掉. 关于JTextArea的字体设置问题 高分求Java在使用中的API,技巧等等(分数上限5000) 简单的SWING问题,急!!!! A problem on deployment,help!CMP部署问题 list元素合并的问题 线程怎么不能停止?? 请教关于不可变类String的问题。
在tomcat的webapps/servlet-examples目录有一个完整的例子。
请参考web.xml和SetCharacterEncodingFilter的配置。 1)只要把%TOMCAT安装目录
webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class
文件拷到你的webapp目录/filters下,如果没有filters目录,就创建一个。
2)在你的web.xml里加入如下几行:
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3)完成.2.get方式的解决办法
1)打开tomcat的server.xml文件,找到Connector区块,加入如下一行:
URIEncoding=”GBK”
完整的应如下:
<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="GBK"/> 2)重启tomcat,一切OK。
new String(request.getParameter("test").getBytes("iso-8859-1"),"GBK")
但这样的代码相信不是一个解决的办法,这样会增加程序的复杂度,写数据库,提交表单,URL中传中文参数,到处都是中文问题!作为一个连走路都要算计最短距离的懒人,当然不愿天天叨念着new String(request.getParameter("test").getBytes("iso-8859-1"),"GBK"),然汉战战兢兢的处理各种字符转换的问题,我跋山涉水,翻山越岭,终于找到了完美的解决方式,在TOMCAT中只需要简单的配置,引入2个文件就可以轻松搞定。
前提条件,每个页面使用
<%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage="" %>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
步骤1:添加过滤器
在TOMCAT中找到这2个文件RequestDumperFilter.java,SetCharacterEncodingFilter.java,他们位于D:\Tomcat5.0.27\webapps\jsp-examples\WEB-INF\classes\filters,加到你的工程文件里去,编译他们。
步骤2:配置WEB.XML
在web.xml里加入这一段
……
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
……
这样你就不用写那些麻烦的转换代码了,当然这样还不足以解决问题。
步骤3:修改server.xml
在server.xml修改2个地方
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK'/>
<Connector className="org.apache.coyote.tomcat5.CoyoteConnector" port="8009" minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="0" useURIValidationHack="false" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"
URIEncoding='GBK'/>
2.使用request之前,设置request.setCharacterEncoding("UTF-8");
3.在jsp页面的页首<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4.需要使用?来进行doget传递的时候,非ansi参数要用URLEncoder.encode(strParameter, "UTF-8")