java web开发乱码原因主要是编码不统一。
1.get方式可以通过在tomcatconfserver.xml中http项设置get方式的编码:URIEncoding="utf-8"
2.还可以通过过滤器,通过在web.xml中配置,主要init-param 两项都需要填写,一项是设置编码,另一项是设置response的响应头的编码。
<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <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>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
3.设置工作空间编码
4.idea 64位的启动exe,还可以在配置文件,即:IntelliJ IDEA 2016.3.4inidea64.exe.vmoptions (如果32就是idea.exe.vmoptions)
中添加:-Dfile.encoding=UTF-8
5如果数据库乱码,上面的设置后还是依旧的话,可以在配置文件中加上与数据库的通讯编码控制:
你的数据库地址 + ?useUnicode=true&characterEncoding=UTF-8
实例:
127.0.0.1:8888?useUnicode=true&characterEncoding=UTF-8
基本上以上的都是统一后,应该编码就会正常了。另外的jsp,模板什么的可能页面的编码要通过头来设置,这里就不继续说了。