• servlet 中文编码设置


    Tomcat服务器默认采用的ISO8859-1编码

    产生的原因:

    不同数据来源的编(解)码格式不同:

    数据来源默认编码格式
    浏览器页面 GBK
    (可在浏览器页面右键切换)
    request(get) ISO-8859-1
    request(post) GBK(同浏览器),但是如果是服务器来的页面一般已经设置了UTF-8(例如JSP提交的页面)
    Servlet(response) ISO-8859-1

    1.请求中文的处理:

    get:

    String code=new String(request.getParameter("code").getBytes("ISO8859-1"),"UTF-8");

    post:

    request.setCharacterEncoding("UTF-8");

    2.响应中的中文处理:

    response.setContentType(“text/html;charset=UTF-8”);

    3.注意
    1,一般情况下,JSP页面的默认编码字符集要设置成UTF-8。否则无法完成中文显示和数据传输。这里不考虑GBK的情况
    2,在服务器端的程序之间,数据传输都是以UTF-8格式传输的。所有不用考虑中文乱码问题
    3,setCharacterEncoding(“UTF-8”)是设置字符集,request调用是设置解码方式(因为是从页面过来的),而response调用时设置编码方式(因为要想页面输出内容,先在Servlet中编码)
    4,getBytes(“UTF-8”);方法通过字符串调用,是按照指定字符集编码。
    5,new String(string.getBytes(“ISO-8859-1”),”UTF-8”);方法将string字符串先以原始(ISO-8859-1)进行解码转成字节数组,在以(UTF-8)编码封装成新字符串。

  • 相关阅读:
    py爬取英文文档学习单词
    windows 下使clion支持c++11操作记录
    angular在ie8下的一个bug
    连连看小游戏前端实现
    如何禁止页面文字被选中
    分享一个BUG
    描点链接元素的优化提升用户体验
    模拟淘宝滚动显示问题解决入口
    简易图片轮播效果
    支付战争
  • 原文地址:https://www.cnblogs.com/appium/p/10024921.html
Copyright © 2020-2023  润新知