jsp编码问题
1.<%@pagepageEncoding="gbk"%>和request.setCharacterEncoding("gbk")有什么区别?(我感觉是同一个意思,后者可...
1.<%@page pageEncoding="gbk"%>和request.setCharacterEncoding("gbk")有什么区别?(我感觉是同一个意思,后者可以覆盖前者的效果,不知道对不对)
2.<%@page contentType="text/html;charset=gbk"%>和respnose.setContentType("gbk")以及response.setCharacterEncoding("gbk")有什么区别?(我感觉也是同一个意思,后者可以覆盖前者的效果,不知道对不对)
3.jps的contentType中的charset=gbk与html中meta标签中的charset=gbk有什么区别? 展开
2.<%@page contentType="text/html;charset=gbk"%>和respnose.setContentType("gbk")以及response.setCharacterEncoding("gbk")有什么区别?(我感觉也是同一个意思,后者可以覆盖前者的效果,不知道对不对)
3.jps的contentType中的charset=gbk与html中meta标签中的charset=gbk有什么区别? 展开
2个回答
展开全部
你的理解基本是正确的
1. pageEncoding="gbk", 表示你的这个jsp页面是gbk编码, 只要是在这个页面里出现的中文, 都是gbk编码的, 如果你向后台发参数中有中文信息, 则是经过gbk解码后的byte字节
而request.setCharacterEcnocding("gbk")是指我要把request传来的字节用gbk编码, 这样, 你直接用request.getParameter就是字节经过gbk编码而得到的字符, 如果页面编码不是gbk, 那么会乱码, 因为你页面是gbk转成的字节, 只有经过gbk编码才能得到正确的字符
2. contentType里设置charset是给浏览器看的, 如果你这里设置了, 浏览器就会用这个charset来显示页面, 否则则是系统默认的charset, 比如中文windows系统就是gbk(ANSI), 意思就是, 如果你的java文件是utf8文件, 里面有中文, 然后response直接写了这些中文, 实际上就是写了utf8的字符对应的字节, 如果你不告诉浏览器用utf8来解析, 浏览器度过来数据展示到页面上就会是乱码
3. 两者是一样的, 都是告诉浏览器用charset来解析页面中的字符
1. pageEncoding="gbk", 表示你的这个jsp页面是gbk编码, 只要是在这个页面里出现的中文, 都是gbk编码的, 如果你向后台发参数中有中文信息, 则是经过gbk解码后的byte字节
而request.setCharacterEcnocding("gbk")是指我要把request传来的字节用gbk编码, 这样, 你直接用request.getParameter就是字节经过gbk编码而得到的字符, 如果页面编码不是gbk, 那么会乱码, 因为你页面是gbk转成的字节, 只有经过gbk编码才能得到正确的字符
2. contentType里设置charset是给浏览器看的, 如果你这里设置了, 浏览器就会用这个charset来显示页面, 否则则是系统默认的charset, 比如中文windows系统就是gbk(ANSI), 意思就是, 如果你的java文件是utf8文件, 里面有中文, 然后response直接写了这些中文, 实际上就是写了utf8的字符对应的字节, 如果你不告诉浏览器用utf8来解析, 浏览器度过来数据展示到页面上就会是乱码
3. 两者是一样的, 都是告诉浏览器用charset来解析页面中的字符
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询