美文网首页
中文数据的请求和响应-03-08

中文数据的请求和响应-03-08

作者: 封_绝 | 来源:发表于2019-03-08 15:48 被阅读0次

    请求

    在例如登陆界面的功能中,可能会出现需要发送中文数据给服务器进行处理。而由于Browser与Service的编码格式不同,所以会出现乱码。Browser请求的默认编码格式为ISO8859-1,不支持中文。

    所以需要进行转码。详解,太长了,看完都不知道讲了啥
    转码方式一:将每个参数都进行转码

    name = new String(req.getParameter("uname").getBytes("ISO-8859-1"), "UTF-8");
    
    啪啪啪打脸

    说好的浏览器发送请求使用IOS-8859-1的呢?明明是用utf-8的嘛!
    算了。

    方式二:公共配置,设置编码方式(get请求和post请求不同)
    get请求:1.在tomcat中配置,conf目录下,service.xml中的Connector标签,将添加属性(标签的尖括号里面加)useBodyEncodingForURI=“true”,表示请求参数和请求实体使用同样的编码格式,(请求参数:一般get请求发出,在url中;请求实体,post请求发出的数据,应该是请求对象中请求头,请求行,请求主体的请求主体吧)
    讲了一下底层的代码没怎么看懂,好像还有个EncodingURI的属性
    EncodingURI和useBodyEncodingForURI的区别讲的很清楚
    大概就是说EncodingURI="UTF-8"是设置uri中的解码的,好吧,看不懂,还是不知到他们俩的区别。

    2.在servlet中设置编码格式
    req.setCharacterEncoding("utf-8");

    post请求:
    只需要在servlet中设置编码格式即可。
    req.setCharacterEncoding("utf-8");

    这里我就不尝试了,因为chrome好像直接用了utf-8的编码方式

    响应

    响应设置编码

    相关文章

      网友评论

          本文标题:中文数据的请求和响应-03-08

          本文链接:https://www.haomeiwen.com/subject/mvhrpqtx.html