码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Servlet中乱码解决


    总决式:解决乱码.不写中文

    创建个Javaweb项目,演示并解决各种乱码

    直接next

    pom.xml里自动引入了servletapi

    目录结构

    一般创建好项目先设置下maven与Encoding

    建个Servlet测试

    启动并访问  无论控制台输出用GBK还是UTF8  都是乱码

    此时需要修改Tomcat/conf/logging.properties文件

    然后将console输出改成GBK

    注意清下缓存   这样控制台输出  和tomcat日志都正常了

    关于Get请求中文乱码问题,Tomcat10之后,request请求体当中的字符集默认就是UTF-8,不需要设置字符集,不会出现乱码问题。Tomcat9前(包括9在内),如果前端请求体提交的是中文,后端获取之后出现乱码,怎么解决这个乱码?执行以下代码。

    //这段代码要放在获取请求参数前面
    关于Get请求中文乱码方案1  request.setCharacterEncoding("UTF-8");

    如果Get请求中文还是乱码  修改conf/server.xml配置文件

    关于Get请求中文乱码方案2 
     注意:从Tomcat8之后,URIEncoding的默认值就是UTF-8,所以GET请求也没有乱码问题了。

    关于Post请求中文参数乱码 

    request.setCharacterEncoding("UTF-8"); 可以解决

    响应的中文乱码问题,在Tomcat9之前(包括9),响应中文也是有乱码的,怎么解决这个响应的乱码?
    response.setContentType("text/html;charset=UTF-8");

    此种方式不一定有效(原因在于,你虽然用utf-8编码,但是浏览器不一定用utf-8解决,)

    解决方案1 response.setCharacterEncoding("utf-8");

    解决方案2

    response.setHeader("Content-type","text/html;charset=utf-8")设置响应头,告诉浏览器也是用utf8

    解决方案3  response.setContentType("text/html;charset=utf-8")  同上

    需要注意以上三种设置,使用时候需要设置在response获取字节流或者字符流之前,否则无效

  • 相关阅读:
    官宣!Sam Altman加入微软,OpenAI临时CEO曝光,回顾董事会‘’政变‘’始末
    wordpress无法更新插件和主题的解决办法
    [Linux Review-1] Linux OS fundamental #101
    河道AI智能视频分析识别系统
    129页6万字大数据集成服务建设项目可行性分析报告
    MySQL中对varchar类型的列进行统计分析
    【EMQX】Java物联网开发“尚方宝剑” - - 课程目录
    【趣味随笔】盘点国内外做双足机器人的公司
    Docker 入门看这一篇就够了,万字详解!
    使用jdk自带的VisualVM分析hprof堆转储文件
  • 原文地址:https://blog.csdn.net/tiantiantbtb/article/details/133984211
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号