版本:tomcat-8.5.29 项目在本机测试一切正常,上传到服务器后出现写入乱码问题,我这里列出四个解决问题方案,可以参考,我的问题用第四个方法解决成功
1.在用了全局编码过滤基本上不用考虑后台的编码问题,没有使用全局编码的加上下面两句代码即可:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
2.前端页面的编码格式更是基础,应该都不会有问题
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
3.检查数据库字符集是不是和你使用的编码格式相同 例:UTF-8
4.如果上面的都没错误,请打开你的数据库连接池,在数据库名称后面加上?characterEncoding=UTF-8,可以参考下面代码
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/aftersale?characterEncoding=UTF-8</property>
<property name="user">root</property>
<property name="password">root</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
</default-config>
</c3p0-config>