java后台中文编码问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32847235/article/details/79119174
一、对于出现中文乱码的可能情况:
   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请求。更改后的代码如下所示:
<Connector port="8080" protocol="HTTP/1.1"
               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>


猜你喜欢

转载自blog.csdn.net/qq_32847235/article/details/79119174
今日推荐