JSP中涉及到的编码问题汇总。

1.html的meta标签

 

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>  是为了告诉浏览器发来的是html文档,其编码格式为utf-8。但是传来的文件到底是不是utf-8无法确定,例如是否可以传递gb2312的文件,但是meta标签却设置为utf-8?????

 

2.jsp的编译指令page中的pageEncoding属性和contentType属性

pageEncoding属性是为了说明此jsp文件本身采用的编码方式,contentType是说当服务器端jsp向客户单浏览器返回html时,此html的编码方式,此功能是不是为了告诉tomcat将要生成的html文件的格式,而不是为了通知浏览器此html文件的编码格式?????

 

3.get方法

get方法实际上是将参数放到url中,而为了保证url中的字符都是符合rfc 1783的规定,浏览器会对url进行编码,而对于url中的中文,其编码方式具有一定的不确定性,所以但服务器端取get方法传递的参数的时候,需要先对参数进行对应的解码。

 

4.post方法

post方法传递的参数中的中文则是根据<meta>标签来确定的,这也是meta标签除告诉浏览器html文档的编码格式外的另一个功能或者叫用途。

tomcat再接收post传递的参数的时候,默认使用iso-8859-1,除非是使用了request.setCharacterEncoding()设置了别的编码或者是对tomcat的默认解码配置文件进行了修改。

 

5.jsp返回html文件

当jsp返回的html文件如果没有设置文件编码格式的时候,默认采用iso-8859-1编码,由于此编码不支持中文,所以在返回的页面中有中文的时候会变为???。所以在服务器返回时,应设置response.setContentType("text/html;charset=gb2312"),这样就能保证返回的html文件中的中文不是乱码或者?。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值