1.在spring boot上java代码直接插入数据库或者查询乱码:

原因排除——

在spring boot配置上连接数据库url加参数:

useUnicode=true&characterEncoding=utf-8

Spring boot乱码总结

在mysql配置文件上配置增加圈起来的语句

Spring boot乱码总结

 

保证自己的代码文件是utf-8,编译器右下角可以看到

Spring boot乱码总结

在编译器中设置

 

Spring boot乱码总结

2.排除这些之后,网络请求的参数插入数据库,中文乱码

默认情况下,tomcat使用的是iso8859-1的编码编码方式

修改tomcat下的conf/server.xml文件

找到如下代码:    
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
这段代码规定了Tomcat监听HTTP请求的端口号等信息。

可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求。

更改后的代码如下所示: 
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

增加属性useBodyEncodingForURI="true" 设置POST和GET使用相同编码

更改后的代码如下所示: 
<Connector port="8080"  useBodyEncodingForURI="true"  URIEncoding="UTF-8" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

 

 

相关文章: