字符编码的问题

字符编码的问题

这里设置request就可以改变字符为中文了,为什么不是response呢?

http://img1.sycdn.imooc.com//climg/5be5506900015ed612170132.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
chrismorgen 2018-11-12 11:41:50

不是这个样子的哦,如下图所以,jsp页面设置中文编码格式是为了在该页面中所有的中文字体都可以正常显示,比如你在jsp页面写一个p标签,内容是一段中文断乱,如果不设置jsp的字符编码格式,这个中文段落就有可能就会乱码,此时与request和response没有关系,你可以把request和response当作前端和后台之间桥梁,给他俩设置字符编码格式是为了是request和response中的参数都是一样的编码格式,如果要想避免乱码,jsp页面,request、response都要设置成为utf-8的模式,缺少一样,都有可能造成乱码。

http://img1.sycdn.imooc.com//climg/5be8f4ad00011b8f07540302.jpg

  • 提问者 楚楚提 #1
    嗯,那么jsp在服务器上运行时会不会将页面信息写到response当中呢?
    2018-11-12 11:57:32
  • chrismorgen 回复 提问者 楚楚提 #2
    不会的,response是servlet响应请求时使用的对象,祝学习愉快~
    2018-11-12 13:40:49
  • 提问者 楚楚提 回复 chrismorgen #3
    那么jsp所包含的html内容是如何送到浏览器的呢?
    2018-11-12 13:46:48
好帮手慕阿莹 2018-11-09 18:45:56

因为是请求的字符编码是不是utf-8:

如果不设置req,通过req带过来中文的参数就是乱码。

同学可以试试在设置编码前打印一下req.getParameter(“name”);试试。

http://img1.sycdn.imooc.com//climg/5be564ce000124f208380189.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 楚楚提 #1
    我知道这个意思,我是说之前在过滤器那一节我就问过一个问题: https://class.imooc.com/course/qadetail/74666 里面我问request设置中文是不是response就不用设置中文了,回答说都要设置,而这里真正获取到数据并返回的是response,而response并没有设置中文,就是中文的设置到底是单向的还是双向的
    2018-11-09 19:05:02
  • chrismorgen 回复 提问者 楚楚提 #2
    举个例子吧,当用户向服务器发送request请求时,需要设置字符编码格式,是为了保证request中的数据可以显示中文,那么当服务器响应用户时,将response回馈给用户时,当然也要设置字符编码格式,所以如果使用response,就需要将response也设置字符编码,字符编码的问题在过滤器的课程中会讲到,使用Filter就可以将所有的request和response设置为UTF8的格式了。祝学习愉快~
    2018-11-11 10:15:31
  • 提问者 楚楚提 回复 chrismorgen #3
    有点明白了,然后又由于返回的页面也就是jsp已经设置的字符编码为中文,所以这里虽然response没有设置为中文编码,但是并不影响浏览器的正常显示?
    2018-11-11 10:20:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师