Java对数据库进行CRUD操作出现乱码
先查看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>*.html</url-pattern>
</filter-mapping>
在配置mysql的url路径时加上: ?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
例如·:jdbc.url=jdbc:mysql://localhost:3306/house?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
JSP页面中文乱码
在页面的开头加入这两句话:
<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>
<% request.setCharacterEncoding(“UTF-8”); %>
若是doPost方式:在方法的开头加上:req.setCharacterEncoding(“UTF-8”);
若是doGet方式:username new String(req.getParameter(“username”).getBytes(“ISO-8859-1”), “UTF-8”);
若是响请求:加上这句话:res.setContentType(“text/html;charset=utf-8”);