`

修改tomcat的conf/server.xml解决网页乱码

阅读更多
乱码有很多中原因
下面是其中一种解决办法,你可以试试

修改tomcat的conf/server.xml

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
改成
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>


如果还乱码,请在web.xml中添加一个过滤器
<filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>com.worthtech.app.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
      <param-name>ignore</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class CharacterEncodingFilter implements Filter {

	private String encoding=null;
	private boolean ignore=true;
	
	public void destroy() {
		// TODO Auto-generated method stub
		encoding=null;
	}

	/** 
	   * 过滤请求,用户提交请求时起作用 
	   */  
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		if(ignore||request.getCharacterEncoding()==null){
			String encoding=getEncoding();
			if(encoding!=null){
				request.setCharacterEncoding(encoding);
			}
		}
//		System.out.println("encoding===="+encoding);
		response.setContentType("text/html;charset="+encoding);
//		do something here
		//当前工作全部完成后,将请求放开给过滤器链的下一filter 
		chain.doFilter(request, response);
	}

	public void init(FilterConfig filterConfig) throws ServletException {
		// TODO Auto-generated method stub
		this.encoding=filterConfig.getInitParameter("encoding");
		String value=filterConfig.getInitParameter("ignore");
		if(value==null){
			this.ignore=true;
		}else if(value.equalsIgnoreCase("true")){
			this.ignore=true;
		}else if(value.equalsIgnoreCase("yes")){
			this.ignore=true;
		}else{
			this.ignore=false;
		}
	}

	protected String getEncoding(){
		return this.encoding;
	}
}
分享到:
评论
3 楼 supersun 2009-12-17  
乱码啊,从根源查起吧,无非 数据库—>servlet(action)—>页面

根源越多,解决方式就越多
在Servlet用过滤器Filter或response.setCharacterEncode();。。。。。。。。。。
页面:pageEncoding属性。。。。。。。。。。。。。。。。
数据库:查看实例的编码字符集了。。。。。。。。。。。。。
2 楼 gundumw100 2009-12-17  
我都说了乱码有很多种原因。
1 楼 gothicly16 2009-12-17  
试了

不成

用了一个e文软件,安好之后,连英文都看不出,到底是怎么回事???

相关推荐

    apache-tomcat-7 x64和x86安装包(带配置文档)

    - `conf/server.xml`:这是Tomcat的主要配置文件,包含了端口设置、连接器、虚拟主机等信息。例如,你可以在这里修改默认的HTTP端口8080。 - `conf/web.xml`:全局Web应用程序配置文件,定义默认Servlet和过滤器。...

    Tomcat中文乱码处理方法.docx

    可以在conf/server.xml文件中设置URIEncoding为gb2312或gbk,例如: 然后,实现一个过滤器Filter来设置gbk的字符编码格式。例如: 在web.xml文件中加入: 在WEB-INF/classes/filters目录下创建...

    apache-tomcat-8.0.33中文.zip

    通过配置`conf/server.xml`文件中的`&lt;Resource&gt;`元素,可以加载特定语言的资源包,实现应用的本地化。 5. **日志和错误信息**:Tomcat的错误信息和日志默认使用英文,但在8.0.33版本中,如果系统环境支持,也会提供...

    tomcat安装和配置

    3. **服务器配置**:主要通过修改`conf/server.xml`文件,可以配置端口号、虚拟主机、连接器、监听器等。 4. **管理设置**:TOMCAT提供了一个管理界面,可以通过`/manager/html`访问,但需在`conf/tomcat-users.xml...

    解决Tomcat中文乱码

    - 在Tomcat的`conf/server.xml`文件中找到`Connector`元素,添加`URIEncoding="UTF-8"`属性来指定URL的编码方式。 ```xml &lt;Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort...

    tomcat安装部署问题.docx

    - 查看`conf/server.xml`配置文件中`&lt;Connector&gt;`元素下的`port`属性,确认监听端口是否被其他应用程序占用。 - 可以使用`netstat -ano | findstr "监听端口号"`命令来检查端口使用情况。 2. **确认项目文件路径*...

    在tomcat环境下搭建solr3.5和mmseg4j搜索引擎

    - 打开`Tomcat/conf/server.xml`文件 - 在Connector元素中加入`URIEncoding="UTF-8"`参数,以支持中文检索。例如: ```xml &lt;Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort...

    Tomcat安装_CHS

    - Tomcat默认监听端口为8080,可以通过修改`conf/server.xml`中的`&lt;Connector&gt;`标签来更改端口。 ### 六、常见问题及解决方法 - **启动失败**:首先确认`JAVA_HOME`环境变量是否正确配置;其次检查Tomcat的日志...

    web项目部署到服务器后中文乱码的解决.docx

    首先,修改MySQL配置文件,使用命令vi /etc/mysql/mysql.conf.d/mysqld.cnf,并添加character-set-server=utf8和collation-server=utf8_general_ci。然后,重启MySQL,使配置生效。使用命令/etc/init.d/mysql ...

    修改Tomcat默认编码消除get方式传递参数出现中文乱码

    通过修改Tomcat的`Server.xml`文件中的`&lt;Connector&gt;`元素,设置`URIEncoding`属性为支持中文的编码(如`GB2312`或`UTF-8`),可以有效解决GET方式传递参数时出现的中文乱码问题。这一修改使得Tomcat能够正确解析和...

    Jdk+Tomcat+Eclipse安装和配置

    - 打开`C:\tomcat\conf\server.xml`文件,找到`&lt;Connector&gt;`标签,在其中添加`URIEncoding="UTF-8"`以解决中文乱码问题。 ```xml &lt;Connector port="8080" maxHttpHeaderSize="8192" protocol="HTTP/1.1" ...

    Nutch在Tomcat下的部署.doc

    在Tomcat的`conf/server.xml`中,找到类似下面的`&lt;Connector&gt;`标签: ``` &lt;Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /&gt; ``` 并将其修改为: ``` ...

    jenkins、tomcat安装与环境配置教程.doc

    如果需要更改Tomcat的端口号,可以在`conf/server.xml`文件中找到`Connector`标签,修改`port`属性的值。例如,将8080改为8000。 6. **解决中文乱码问题**: 如果控制台出现中文乱码,可能是因为编码问题。修改`...

    tomcat9(9.0.68)下载资源(配置完的适用于UTF-8)

    1. 修改`conf/server.xml`文件中的`Connector`元素,添加或更新`URIEncoding`属性,使其值为`UTF-8`,如: ```xml &lt;Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000" ...

    apache-tomcat-8.5.53_tomcat的8.0版本_ApacheTomcat8.5_choiceyqj_

    要开始使用这个版本的Tomcat,用户需要配置`conf/server.xml`文件,根据自己的需求调整服务器设置,然后可以在`webapps`目录下部署应用。启动Tomcat,可以通过`bin`目录下的脚本进行,例如在命令行输入`./catalina....

    Tomcat配置技巧详解Tomcat配置技巧详解

    如果需要将端口更改为80或其他端口,可以通过编辑`conf/server.xml`文件中的`Connector`元素实现。具体步骤如下: 1. **打开`server.xml`文件**:使用文本编辑器打开`conf/server.xml`文件。 2. **定位`Connector`...

    java项目编译时中文乱码解决

    - Tomcat 5.5:在`conf/server.xml`文件中找到HTTP/1.1 Connector配置,添加`URIEncoding="gbk"`属性,如下所示: ```xml ...

Global site tag (gtag.js) - Google Analytics