解决问题的思路:

1、分析比对http请求头,contentType等设置

2、前段编码,后端解码,这个方式比较落麻烦,凡是有中文乱码的地方都要进行解决

3、修改Tomcat的默认编码,tomcat8以下默认编码是"iso8859-1",tomcat8默认编码是“UTF-8”

  1. <Connector port="8080" protocol="HTTP/1.1"
  2. URIEncoding="UTF-8"
  3. connectionTimeout="20000"
  4. redirectPort="8443" />

4、查看应用的web.xml默认编码是否是"UTF-8"以下是后端强制转码配置

  1. <filter>
  2. <filter-name>Set Character Encoding</filter-name>
  3. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  4. <init-param>
  5. <param-name>encoding</param-name>
  6. <param-value>UTF-8</param-value>
  7. </init-param>
  8. <init-param>
  9. <param-name>forceEncoding</param-name>
  10. <param-value>true</param-value><!-- 强制进行转码 -->
  11. </init-param>
  12. </filter>
  13. <filter-mapping>
  14. <filter-name>Set Character Encoding</filter-name>
  15. <url-pattern>/*</url-pattern>
  16. <dispatcher>REQUEST</dispatcher>
  17. <dispatcher>FORWARD</dispatcher>
  18. </filter-mapping>

按照此种写法HttpServletRequest和HttpServletResponse在控制层是不可缺少的,否则有乱码

  1. /**数据透传下发记录*/
  2. @RequestMapping("sendTransparentinfoSendCmd")
  3. public Object sendTransparentinfoSendCmd(TransparentinfoSendlog transparentinfoSendlog,HttpServletResponse response,HttpServletRequest request){
  4. if(transparentinfoSendlog.getVehicleId()==null){
  5. // 未选择车辆
  6. return setReturnMap(false, HttpCode.NO_SELECT_VEHICLE.value());
  7. }
  8. String sim=terminalService.findMobileCodeByVehicleId(transparentinfoSendlog.getVehicleId()+"");
  9. if(sim==null||sim.equals("")){
  10. return setReturnMap(false, HttpCode.ORDER_SEND_NO_SIM.value());
  11. }
  12. if(transparentinfoSendlog.getEnterpriseId()==null){
  13. // 没有公司ID
  14. return setReturnMap(false, HttpCode.BAD_REQUEST_ENTERPRISE.value());
  15. }
  16.  
  17. // 存储数据透传下发发送日志
  18. OrderInfo orderInfo=new OrderInfo();
  19. orderInfo.setId(com.cvnavi.util.WebUtil.getPK());
  20. User user = WebExecutionContext.getUser();
  21. orderInfo.setUserId(user.getId());//设置userId
  22. // 设置指令ID
  23. transparentinfoSendlog.setOrderId(orderInfo.getId());
  24. boolean flag=iTransparentinfoService.insertTransparentinfoSendlog(transparentinfoSendlog);
  25. if(!flag){
  26. return setReturnMap(false, HttpCode.BAD_REQUEST.value());//请求错误
  27. }
  28. // 发送指令到网关
  29. orderInfo=iOrderInfoService.sendTransparentinfoSendlogCmd(orderInfo,transparentinfoSendlog);
  30. if(orderInfo==null){
  31. return setReturnMap(false, HttpCode.BAD_REQUEST.value());//请求错误
  32. }
  33. if("0".equals(orderInfo.getStatus())){
  34. return setReturnMap(false, HttpCode.NO_VEHICLE_ONLINE.value());//车辆不在线
  35. }else if("-1".equals(orderInfo.getStatus())){
  36. return setReturnMap(false, HttpCode.ORDER_SEND_FAIL.value());//指令发送失败
  37. }
  38. return setReturnMap(true, HttpCode.OK.value());
  39. }

IDEA部署Tomcat应用所有接口中文乱码的更多相关文章

  1. Tomcat 输出日志出现中文乱码

    Tomcat 输出日志出现中文乱码 解决方案: 打开到tomcat安装目录下的conf/文件夹 修改logging.properties文件,找到 java.util.logging.ConsoleH ...

  2. Tomcat JSP提交参数中文乱码问题解决

    参考: http://blog.csdn.net/error_case/article/details/8250209 中文乱码是个老生常谈的问题,一般情况下,只要保证页面,web服务器,数据库的编码 ...

  3. linux服务器上tomcat日志中的中文乱码

    转: 修改tomcat应用日志默认编码格式 前言 今天开发跟我说tomcat日志中的中文不能正常显示,根据以往的经验,我觉得可能跟服务器的编码有关,于是尝试各种方法,但还是没能解决问题. 后来我突然想 ...

  4. 【已解决】关于IDEA中 Tomcat 控制台打印日志中文乱码的解决

    在 Idea 上面使用 Tomcat 时,发现控制台打印信息的时候,出行中文乱码问题; 可以通过以下几种解决办法 1:在-Dfile.encoding=UTF-8 在vm中设置编码方式 2.然后从Fi ...

  5. delphi请求http接口中文乱码问题

    请求http接口的时候参数值是中文乱码: http接口一般都是由java,php以及C#开发而成的,乱码的原因也是由于编码的问题,一般传递数据的都是utf8,然后传递的时候都会urlEcode 那么d ...

  6. tomcat控制台运行窗口中文乱码

    启动tomcat时出来的运行窗口中文乱码, 如图所示:看得有点不舒服 解决方法:找到Tomcat安装路径下的 /conf/logging.properties 文件 文件末尾添加语句: java.ut ...

  7. tomcat启动命令行中文乱码

    1.找到${CATALINA_HOME}/conf/logging.properties 2.添加语句:java.util.logging.ConsoleHandler.encoding = GBK ...

  8. IDEA Tomcat 日志和输出中文乱码问题

    说明:该方法是在网上查找的其他方法均无效的情况下自己摸索出的设置.既然别人有效的设置在我这里无效,那么以下设置自然有可能无效.建议综合多个搜索结果进行尝试. 仅需要进行两处设置 1. 更改 IDEA ...

  9. tomcat 启动窗口 名称 中文乱码

随机推荐

  1. 93.数字三角形W(深搜)

    2189 数字三角形W  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 数字三角形 要求走到最后mod 10 ...

  2. [转] 浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓

      hibernate工作原理 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6 ...

  3. 8VC Venture Cup 2016 - Elimination Round A. Robot Sequence 暴力

    A. Robot Sequence 题目连接: http://www.codeforces.com/contest/626/problem/A Description Calvin the robot ...

  4. 研究人员发现绝大部分酷派(Coolpad)手机暗藏后门(转)

    隐私问题被曝光得越来越多,随着物联网的发展,只会变得越来越严重,不过从当前看来 ,国人对隐私的重视度还远没有国外,期待加强对隐私的保护策略.   转自:http://www.freebuf.com/n ...

  5. 通过logstash收集mysql慢查询日志转换为json

    input { file { type => "mysql-slow" path => "/var/log/slow_mysqld.log" sta ...

  6. requests.exceptions.SSLError: hostname '127.0.0.1' doesn't match None

    http://stackoverflow.com/questions/33429453/python-requests-ssl-hostname-doesnt-match-error http://w ...

  7. [转]ASP.NET Core 1.0: Using Entity Framework Core 1.0 - Transaction

    本文转自:http://blog.csdn.net/alvachien/article/details/51576961 跟Entity Framework之前的版本不同,Class DbContex ...

  8. Do Chrome extensions access iframes? chrome扩展插件访问所有iframes

    32down voteaccepted Yes, a Chrome Extension "content script" can run in all iframes (that ...

  9. Indirect Buffers

    间接cmd 用在 gpu建立的cmd 不需要cpu参与 用indirect cpu gpu就不会互相等待了 直接gpu建立了 gpu用 之前的cmd是cpu建立 填入数据 gpu拿来执行的 在meta ...

  10. PowerShell中的一个switch的例子

    在这个例子中, 应该注意 Switch语句里对数字范围条件的使用 break的使用 字符串的拼接 数组的声明   ) foreach ($element in $array) { switch($el ...