你的位置:首页 > 软件开发 > Java > Servlet向客户端发送中文数据的编码情况

Servlet向客户端发送中文数据的编码情况

发布时间:2016-10-01 23:00:07
(更多内容请关注本人微信订阅号:it_pupil) 本文讲述服务端servlet向客户端浏览器发送中文数据的编码情况,需要抓住下面几点: 输出流发送数据,必须是以字节形式传输的。也就是说,如果你在服务端定义一个字符串,那么servlet要先编码成字节数组,再发送到客户端。 ...

Servlet向客户端发送中文数据的编码情况

(更多内容请关注本人微信订阅号:it_pupil)

Servlet向客户端发送中文数据的编码情况

 

本文讲述服务端servlet向客户端浏览器发送中文数据的编码情况,需要抓住下面几点:

 

输出流发送数据,必须是以字节形式传输的。也就是说,如果你在服务端定义一个字符串,那么servlet要先编码成字节数组,再发送到客户端。

 

客户端浏览器在收到字节码数据时,需要将其解码成字符串显示出来。

 

在服务端,如果你使用的是字节流,那么只需要注意两点:

 

   拿到字符串,以特定形式编码成字节数组(如UTF-8)。(字节数组是你人工转换的)

 

   告诉浏览器,以相同方式解码显示(UTF-8)。

 

如果你使用的是字符流,那么需要注意三点:

 

   字符流其实就是你传给它的是字符,它自己内部还是会转换成字节的。

 

  拿到字符串,告诉服务端,发送时以特定方式编码成字节数组(如UTF-8)。(字节数组是字符流内部转换的)

 

  告诉浏览器,以相同方式解码显示(UTF-8)。

 

就上面提出的几点,有三种实现方案保证不乱码(也是乱码的解决思路):

 

方案一,字节流:

 

Servlet向客户端发送中文数据的编码情况

 

方案二,字符流:

 

Servlet向客户端发送中文数据的编码情况

 

方案三,还是字符流:

 

Servlet向客户端发送中文数据的编码情况

原标题:Servlet向客户端发送中文数据的编码情况

关键词:编码

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。