laogao01200
2017-07-03 02:29
采纳率: 80%
浏览 2.9k
已采纳

java前台往后台传值乱码一般都怎么解决

java前台往后台传值乱码一般都怎么解决? java前台往后台传值乱码一般都怎么解决?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • 猿长大人 2017-07-03 05:42
    已采纳

    楼上说的都很对,但如果还是不行的话,建议拼在链接里面的值全部处理一下,转成百分号形式的utf-8
    前台:enStr = URLEncoder.encode(chiStr,"utf-8");
    后台:chiStr = URLDecoder.decode(str, "utf-8");

    点赞 打赏 评论
  • 丵鹰 2017-07-03 02:43

    设置获取参数的编码格式,如request.setCharacterEncoding("UTF-8");

    点赞 打赏 评论
  • legendCoder 2017-07-03 03:18

    用拦截器统一过滤前端所有传输过去的数据,在过滤去里面统一设置编码。

    点赞 打赏 评论
  • 张大教主 2017-07-03 03:47

    request.setCharacterEncoding("utf-8");

    点赞 打赏 评论
  • SizzleCarl 2017-07-03 04:12

    这要根据前端页面发送请求的方式来进行处理
    如果是post的请求,就用request.setCharacterEncoding("utf-8");
    如果是get请求,稍微麻烦一点
    1.将你获取的数据以ISO-8859-1格式解析成字节数组
    byte[] name = request.getParameter("name").getBytes("ISO-8859-1");
    2.再以UTF-8的字符格式还原成字符串
    String newName = new String(name,"UTF-8" );
    如果嫌麻烦就要去改tomcat的配置文件,百度一大堆。

    点赞 打赏 评论
  • 丨我自然丨 2017-07-03 04:21

    request.setCharacterEncoding("utf-8");

    点赞 打赏 评论
  • 灯下驼贼 2017-07-03 05:04

    response 和request都设置setCharacterEncoding("utf-8");,为了保险,放到doGet()或doPost()里面的开始

    点赞 打赏 评论
  • liujiding 2017-07-03 10:10

    你用servlet的话 可以设置request和response的编码

    可以写一个编码过滤器

    可以在tomcat的server.xml中设置编码
    可以在eclipse里面设置所有工作空间的编码

    前台页面也需要设置编码
    具体场景都会不同

    点赞 打赏 评论
  • 猿小牛 2017-07-04 08:44

    request.setCharacterEncoding("utf-8");

    点赞 打赏 评论
  • 秋彼岸丶夏 2017-07-05 04:10

    某些情况下,你会发现你的response没有setCharacterEncodding方法,可以设置response.setContentType("text/html;charset=utf-8")

    点赞 打赏 评论

相关推荐 更多相似问题