zoukankan      html  css  js  c++  java
  • mybatis,控制层传入中文乱码--两种解决方式

      最近写了一个查询接口,利用swagger测试,发现没数据,后来拿sql直接去数据库查,哎??!!!怎么有数据,好吧debug,发现传入的参数乱码了。

    方法一:

      于是乎我开始百度,找到了一个方法,比较麻烦。原理就是,把传进来的参数,从编码格式A(A是容器的默认编码格式),转换为UFT-8。上代码。

    try {
        productName = new String(userName.getBytes("ISO-8859-1"), "UTF-8");
        paramMap.put("productName", productName);
    } catch (UnsupportedEncodingException e){
        LOGGER.info("UnsupportedEncodingException:", e);
    }

    当然这里只粘贴了部分代码,userName就是传入的参数。

      果然成功了,参数一"ISO-8859-1" --代表你所用容器的编码格式,这时用的tomcat,参数二--"UTF-8"-代表,你希望参数,转换成那种编码格式。

       但是后来我觉得tomcat启动太慢,换用了jetty,jetty默认编码格式就是“utf-8”呀,还是用上边代码,把 "ISO-8859-1"转“UTF-8”,当然出问题了,那么,就方法二吧

     方法二:

      人呀,坐到什么位置是有原因的,技术总监出马,一个注解就解决,---produces="application/json;charset=utf-8",代码没啥技术难度,把注解加载RequestMapping后边就可以了,不贴那么多代码

    @RequestMapping(value = "/getUserDetail", method = RequestMethod.POST, produces="application/json;charset=utf-8" )
    

      

  • 相关阅读:
    redis主从同步机制
    聊聊Redis持久化
    Redis集群架构中主节点选举机制
    命令注入
    《小狗钱钱》
    nginx---反向代理缓存
    nginx ---IP地址透传
    实现前端调度器nginx收到请求,调度到后端Apache、实现动静分离
    nginx---防止盗链
    nginx--当用户访问到公司网站的时输入了一个错误的URL,可以将用户重定向至官网首页
  • 原文地址:https://www.cnblogs.com/coisini/p/9699829.html
Copyright © 2011-2022 走看看