如:
,图片路径正确,放到一个单独的html页面中也能正常打开,在jsp中就是不显示图片
原因在于没有在tomcat配置URIEncoding 修改方法:
在tomcat的server.xml中加入URIEncoding="utf-8"(网页的编码是utf-8)
<Connector port="8080" URIEncoding="utf
要解决该问题,应该在Tomcat的配置文件的Connector标签中设置useBodyEncodingForURI或者 URIEncoding属性,其中useBodyEncodingForURI参数表示是否用 request.setCharacterEncoding 参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false(Tomcat4.0中该参数默认为true); URIEncoding URIEncoding和useBodyEncodingForURI区别是,URIEncoding是对所有GET方式的请求的数据进行统一的重新编解码,而useBodyEncodingForURI则是根据响应该请求的页面的 所以对于URL提交的数据和表单中GET方式提交的数据,可以修改 URIEncoding参数为浏览器编码或者修改useBodyEncodingForURI为true,并且在获得数据的JSP页面中 request.setCharacterEncoding
enableLookups="false" compression="on" redirectPort="8443" URIEncoding compressableMimeType="text/html,text/xml,text/plain,text/javascript,application/json" /> URIEncoding 这里的一个坑是,对于Tomcat来说,URIEncoding就是针对url中的请求参数的编码设置的,而代码中的request.setCharacterEncoding('UTF-8')或者http报文请求头中的 配上SpringMVC的编码过滤器后,server.xml中的URIEncoding和useBodyEncodingForURI可以任选一种或者两个都配上,保证不会出现中文乱码。 事实上Tomcat8.0之后server.xml中的默认URIEncoding就是UTF-8。官方文档中建议使用第一种URIEncoding的方式。
-- 添加属性URIEncoding="utf-8"可以解决get乱码问题,然后重启服务器--> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8" /> 二:如果使用的是maven 插件运行 org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <uriEncoding >UTF-8</uriEncoding> <!
-- 添加属性URIEncoding="utf-8"可以解决get乱码问题,然后重启服务器--> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8" /> 二:如果使用的是maven 插件运行 org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <uriEncoding >UTF-8</uriEncoding> <!
maxSpareThreads ) connectionTimeout 连接超时 minProcessors 服务器创建时的最小处理线程数 maxProcessors 服务器同时最大处理线程数 URIEncoding 100" maxSpareThreads="1000" minProcessors="100" maxProcessors="1000" enableLookups="false" URIEncoding compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" connectionTimeout="20000" URIEncoding compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" connectionTimeout="20000" URIEncoding compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" connectionTimeout="20000" URIEncoding
一、默认解决方法 无论Google还是百度,多数解决方法是server.xml设置URIEncoding=“UTF-8”。 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding page contentType=”text/html;charset=UTF-8″%> 六、页面传输到后台乱码问题 对POST方式提交的数据做编码转换,对GET方式提交的数据需要在应用服务器中配置URIEncoding =”utf-8″ <filter> <description>对POST方式提交的数据做编码转换,对GET方式提交的数据需要在应用服务器中配置URIEncoding="utf-8"</description
通过查看Tomcat相关源码得知,为了处理GET请求中的中文参数乱码问题,必须明确设置Connector的URIEncoding属性为指定编码。 8000" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding req.getParameters().setQueryStringEncoding(connector.getURIEncoding()); // 显然,在处理GET查询参数编码时是获取Connector的URIEncoding
version>2.1</version> <configuration> <path>/</path> <port>8080</port> <uriEncoding >UTF-8</uriEncoding> </configuration> </plugin>
="UTF-8" />这里,我们添加了URIEncoding="UTF-8"属性,明确指定了URI的编码方式为UTF-8。 你需要编辑这个文件来设置连接器(Connector)的URIEncoding属性为UTF-8。 修改server.xml文件在Tomcat的conf目录下找到server.xml文件,编辑这个文件来设置Connector元素的URIEncoding属性为"UTF-8 ="UTF-8" />这里的关键是URIEncoding="UTF-8"这一行。 推荐首先尝试修改server.xml中的URIEncoding属性,因为这是最简单且影响范围最小的方式。如果需要更灵活的控制,可以考虑使用过滤器。
RequestParam 中文乱码问题解决 终极解决之道: 修改tomcat默认编码(ISO-8859-1)方法,修改tomcat根目录的conf下的server.xml,Connector元素添加URIEncoding 20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding
1、修改tomcat的conf目录下 server.xml文件加上 URIEncoding="UTF-8" <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> ?
protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding ="UTF-8" /> 以上代码中URIEncoding="UTF-8"原来是没有的,添加上可以解决中文乱码问题。
首先打开Tomcat安装目录,以Tomcat7为例,其他版本基本一样; 打开conf文件 打开server.xml 大概在70行左右的位置 我们加一个属性 URIEncoding="UTF-8" 搞成这样即可 下面介绍开发的时候,如何配置: 打开eclipse 找到server 点开server.xml 和刚才一样,加下 URIEncoding="UTF-8" 这样就支持Url中文参数了; 当然还有其他方法,
最后发现tomcat也有编码格式,将tomcat的server.xml文件中配置Connector的部分添加上URIEncoding="UTF-8",成功。 80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding
1.页面编码格式已设置UFT-8 <meta charset="UTF-8" /> 2.tomcat的conf文件夹下的server.xml中已设置URIEncoding=”UTF-8” <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> 加上 URIEncoding "false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding
构建需要在Deployment Assembly里设置 增加WebContent 去掉webapp 4.tomcat处理中文乱码,在tomcat server.xml 中设置,Connector节点中增加 URIEncoding protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding
port="8090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8095" URIEncoding Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" URIEncoding
connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> 2:复制下面的内容,到/conf/server.xml下面。 connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> 2:复制下面的内容,到/conf/server.xml下面。