暮雪(。・ω・。) 2024-06-05 01:13 采纳率: 75%
浏览 7

servlet将中文字符串返回给前端jsp时浏览器显示乱码,设置了response.setContentType并没有效果

servlet将中文字符串返回给前端jsp时浏览器显示乱码,设置了response.setContentType并没有效果

img

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-06-05 01:13
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    从您提供的代码片段来看,存在几个可能的问题导致中文乱码:

    1. 字符编码设置不完整:您已经设置了response.setContentType("text/html;charset=utf-8"),但可能还需要确保请求的编码也是UTF-8。可以在读取请求参数之前,设置请求的字符编码:
    request.setCharacterEncoding("UTF-8");
    
    1. 乱码的字符串:代码中可能存在字符串乱码,比如s:"real"应该是"real"s:"number"应该是"number"

    2. 错误的变量赋值:在设置session属性时,您使用了两次real变量,第一次是声明,第二次是赋值,但是赋值时使用了reat,这可能是一个拼写错误。

    3. 条件判断中的比较运算符错误:在比较numreal时,您使用了\u003c\u003e,这应该是<>

    修正后的代码示例如下:

    response.setContentType("text/html;charset=utf-8");
    response.setCharacterEncoding("UTF-8");
    request.setCharacterEncoding("UTF-8");
    
    HttpSession session = request.getSession();
    Integer real = (Integer) session.getAttribute("real");
    if (real == null) {
        real = new Random().nextInt(100) + 1;
        session.setAttribute("real", real);
    }
    Integer num = Integer.parseInt(request.getParameter("number"));
    String result = "";
    if (num < real) {
        result = "小";
    } else if (num > real) {
        result = "大";
    } else {
        result = "正确";
    }
    response.getWriter().write(result);
    

    参考资料

    请注意,以上链接可能需要您自行访问以获取更多详细信息。希望这些信息能够帮助您解决乱码问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月5日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?