概述
一、对于出现中文乱码的可能情况:
1、表单的get提交
1、表单的get提交
2、表单的post提交
3、页面链接传递中文参数
4、地址栏中参数直接输入中文提交,我是修改tomcat的字符编码就好
对于get方式提交的乱码,可以通过修改tomcat配置文件来修改,对于post方式提交的乱码可以通过设置编码,request.setCharacterEncoding("UTF-8")方法进行编码设置
对于地址栏中拼接参数,直接输入中文乱码,可以修改tomcat的编码格式:
找到tomcat的安装地址:修改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请求。更改后的代码如下所示:
找到tomcat的安装地址:修改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" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
二、如果是调用接口时,返回的json字符串中文乱码,可以修改@RquestMapping中的编码格式
@RequestMapping(value =
"/getOrderTrend",method = RequestMethod.
GET,produces =
"text/json;charset=UTF-8")
RequestMapping.POST为post提交方式,直接再谷歌浏览器上调用接口,用的是get方法,可以选用接口调用工具Postman,再IDEA中如果修改各种编码都没用,可以尝试重新部署项目,有可能是项目部署时存在缓存,我是直接清除缓存也没用,重新部署一遍,主要是把Artifacts中的war包重新生成,然后tomcat配置中的Artifacts重新部署
三、如果启动tomcat的时候,控制台中文乱码,可以修改IDEA中的tomcat配置
或者:配置tomcat中的Startup/Connection
在运行/调试 配置对话框的Startup/Connection面板中,
勾选Pass environment variables.
并添加一个environment variable,
Name填
JAVA_TOOL_OPTIONS, Value填
-Dfile.encoding=UTF-8.
四、查看应用的web.xml默认编码是否是"UTF-8"以下是后端强制转码配置
<filter> <filter-name>Set Character Encoding</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>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
最后
以上就是漂亮秀发为你收集整理的java后台中文编码问题的全部内容,希望文章能够帮你解决java后台中文编码问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复