Tomcat, jsp中文乱码问题
1,文件格式编码不对:
1,eclipse设置
项目工程设置为utf-8格式
右击项目,点击 properties
右键jsp文件 点击 properties
2,IDEA设置中设置编码格式:
File->Setting->File Encodings
2,Web.xml文件中:
<!-- 解决中文乱码过滤器 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3,spring-mvc.xml文件中
<mvc:annotation-driven >
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8" />
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
3,数据库配置文件中:
配置数据库连接时,给数据库命后面加上
?useUnicode=true&characterEncoding=utf-8
如
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/news?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456
4,jsp文件中:
尤其是:
加上
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<meta charset="utf-8">
5,Controller层java文件中:
但这种写法的话,每种都要加,比较麻烦,但是效果强
@RequestMapping(value = "/homepage.do",produces = "text/json;charset=UTF-8")
6,数据库创建设置中:
个人在实现过程中发现,在数据库中如果改变了类型,需要重新建表,原表依旧没用(也可能是我操作问题)
7,tomcat设置
tomcat 的文件路径中找到conf中的service.xml文件中找到以下代码加上 URlEncoding=“UTF-8” :
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1"
redirectPort="8443"
URlEncoding="UTF-8"/>
9,servlet转发jsp页面乱码
1,在sevlet类doGet方法下加上
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
2,删除
在生成servlet时,是自动生成的,在doGet方法内会自动添加上下面这段代码
response.getWriter().append("Served at: ").append(request.getContextPath());
当转发跳转到下一个Jsp页面时,该页面乱码了,而如果直接访问的话,是没有问题的
这里是要么把这句话删掉,要么就把
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
写在它的前面,不要写在它的后面就行了
版权声明:本文为m0_48804394原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。