Java-前端传到后台中文乱码问题
Java–前端传到后台中文乱码问题
编码乱码问题:
经常会遇到 前端传到后台时 ,也就是 controller层 时,会发生乱码,在这里我总结了几个解决乱码的方法,基本都能解决, @符号越多代表越常见
1.@@Tomcat服务器配置的问题—从前端传值到后台乱码—从后台插入到服务器也乱码。
方法:找到Tomcat的安装目录,在cunf下的server.xml文件中找到
< Connector port=“8081” protocol=“HTTP/1.1”
connectionTimeout=“20000”
redirectPort=“8443” URIEncoding=“UTF-8” / >
< !– A “Connector” using the shared thread pool– >
把加粗部分的语句加上就好了
2.@@数据库连接上的问题:
检查这句话有没有问题
db.url=jdbc:mysql://127.0.0.1:3306/myssm? useUnicode=true& characterEncoding=utf8,
可以试着把加粗部分不要试下有没有乱码
3.@@@@检查前端页面是否有utf-8
jsp页面一般有–>
h5页面一般有–>
4.@@@检查Eclipse的编码和项目的编码格式是不是一样的。
eclipse编码在:Windows–>preference->general–>workspace设置
项目编码在:项目上右键–>properties
5.@@@@检查数据库的编码格式,这点很致命,解决办法:
my.ini文件设置,或者创建库时选择
6.@@@@@@ 最终解决方法 ; 用getBytes方法 在controller层重置传过来字符串的编码 ,这也是最最终极的办法,好处是能够解决最麻烦的乱码问题,但是却只能解决一处乱码,解决别的地方的乱码需要再重新写
示例:
语句: name= new String(name.getBytes(“ISO8859-1”),“UTF-8” );在controller层添加这句话,把jsp前端传过来的字符串改变编码
name 是前端传过来的会乱码的内容,这么写,所有这一层次的乱码问题都会得到解决