servlet编码
来源:互联网 发布:类似maka软件 编辑:程序博客网 时间:2024/05/19 06:35
Servlet的中文输出问题
原理:
1、 浏览器接收到的中文字符并不是中文符号本身,而是它的某种字符集编码的数据。(字符格式)
2、 浏览器必须使用正确的字符集编码进行查看,才能将它所接收到的数据显示为正确的中文字符。(用正确的字符集格式转换成汉字)
3、 当Servlet程序仅仅需要输出纯文本格式的响应正文时,通常应调用ServletResponse对象的getWriter方法返回一个PrintWriter对象,然后使用这个PrintWriter对象将文本内容写入到客户端。
4、 Java程序中的字符文本在内存中是以unicode编码的形式存在的,PrintWriter对象在输出字符文本时,需要先将它们转换成其他某种字符集编码的字节数组后输出。
5、 ServletResponse对象的getWriter方法返回的PrintWriter对象默认使用ISO8859-1字符集编码进行Unicode字符串到字节数组的转换,由于ISO8859-1字符集中根本就没有中文字符,Unicode编码的中文字符将被转换成无效的字符编码后输出给客户端。
解决办法:
1、 ServletResponse接口中定义了setCharacterEncoding、setContentType和setLocale等方法来指定ServletResponse.getWriter方法返回的PrintWriter对象所使用的字符集编码。
2、 调用ServletResponse接口中定义的setContentType方法,在HTTP响应消息的Content-Type头字段中指定响应正文的字符集编码。
response.setContentType("text/html;charset=utf-8");(指定用utf-8编码)
Html文档
浏览器对请求参数中的字符(中国)的某种字符集编码(utf-8)进行了url编码
中 utf-8的编码是E4B8AD ——>url编码
请求消息发送到web服务器
Web服务器从请求消息把每一个参数名和参数值分离出来
对每一个参数名和参数值针对某种字符集编码()进行url解码(解码后是字节数组E4 B8 AD)——按照某种字符集编码(utf-8)(中)
原理:
1、 浏览器接收到的中文字符并不是中文符号本身,而是它的某种字符集编码的数据。(字符格式)
2、 浏览器必须使用正确的字符集编码进行查看,才能将它所接收到的数据显示为正确的中文字符。(用正确的字符集格式转换成汉字)
3、 当Servlet程序仅仅需要输出纯文本格式的响应正文时,通常应调用ServletResponse对象的getWriter方法返回一个PrintWriter对象,然后使用这个PrintWriter对象将文本内容写入到客户端。
4、 Java程序中的字符文本在内存中是以unicode编码的形式存在的,PrintWriter对象在输出字符文本时,需要先将它们转换成其他某种字符集编码的字节数组后输出。
5、 ServletResponse对象的getWriter方法返回的PrintWriter对象默认使用ISO8859-1字符集编码进行Unicode字符串到字节数组的转换,由于ISO8859-1字符集中根本就没有中文字符,Unicode编码的中文字符将被转换成无效的字符编码后输出给客户端。
解决办法:
1、 ServletResponse接口中定义了setCharacterEncoding、setContentType和setLocale等方法来指定ServletResponse.getWriter方法返回的PrintWriter对象所使用的字符集编码。
2、 调用ServletResponse接口中定义的setContentType方法,在HTTP响应消息的Content-Type头字段中指定响应正文的字符集编码。
response.setContentType("text/html;charset=utf-8");(指定用utf-8编码)
Html文档
浏览器对请求参数中的字符(中国)的某种字符集编码(utf-8)进行了url编码
中 utf-8的编码是E4B8AD ——>url编码
请求消息发送到web服务器
Web服务器从请求消息把每一个参数名和参数值分离出来
对每一个参数名和参数值针对某种字符集编码()进行url解码(解码后是字节数组E4 B8 AD)——按照某种字符集编码(utf-8)(中)
0 0
- servlet编码
- servlet相关编码设定
- jsp servlet 编码问题
- Servlet字符编码过滤器
- JSP/Servlet编码机制
- JSP SERVLET编码总结
- servlet的编码原理
- Servlet编码解码原理
- servlet编码问题
- servlet编码问题
- Servlet的编码问题
- servlet中的各种编码
- Servlet中编码问题
- servlet中的各种编码
- servlet的编码原理
- servlet编码问题
- Tomcat Servlet编码问题
- Servlet中的编码
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(5)
- 数据结构—2208: 交换节点(线性表)
- jssdk微信上传一张图片的方法
- css之border/padding/margin
- 2.1 2722 和数
- servlet编码
- Sublime text追踪函数插件:ctags
- install opencv with linux
- 基于hessian协议调用java方法-一个map例子
- 写在最前面
- lightoj1097 lucky number 报数类问题 线段树的单点更新
- android 网络编程--socket tcp/ip udp http之间的关系
- 推送的设计
- T1外部计数输入