Servlet响应的中文字符集问题
时间:2022-05-08
本文章向大家介绍Servlet响应的中文字符集问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在Servlet中利用response向客户端浏览器输出中文时有时会遇到乱码问题,总结如下:
response输出流有两种,一是以字节流输出,一是以字符流输出。
一、以字节流输出: 1.默认编码输出木有乱码 2.通过response的setHeader方法设置编码utf-8,无乱码 3.通过response的setContentType方法设置编码utf-8,无乱码 4.输出数字建议以字符串形式输出
二、以字符流输出: 1.默认查iso-8859-1码表(SUN的Servlet规范要求的) ,客户端显示乱码 2.通过response的setHeader方法设置编码utf-8,无乱码 3.通过response的setContentType方法设置编码utf-8,无乱码
字节流以默认编码输出:
1 public void doGet(HttpServletRequest request, HttpServletResponse response)
2 throws ServletException, IOException {
3 // 以字节流用默认编码向客户端输出中文数据,木有乱码
4 response.setContentType("text/html");
5
6 String str = "喔呵呵呵呵";
7 OutputStream out = response.getOutputStream();
8 out.write("</br></br><div align="center" style="font-size:25px; color:red">".getBytes());
9
10 out.write(str.getBytes());
11
12 out.write("</div>".getBytes());
13 out.close();
14 }
字节流设置编码为utf-8输出:
1 public void doGet(HttpServletRequest request, HttpServletResponse response)
2 throws ServletException, IOException {
3
4 // 通知客户端查UTF-8码表
5 response.setContentType("text/html;charset=utf-8");
6
7 // 或者:
8 // response.setHeader("Content-Type","text/html;charset=utf-8");
9
10 String str = "喔哈哈哈哈";
11 OutputStream out = response.getOutputStream();
12 out.write("</br></br><div align="center" style="font-size:25px; color:red">".getBytes());
13
14 out.write(str.getBytes("utf-8"));
15
16 out.write("</div>".getBytes());
17 out.close();
18 }
字节流输出数字:
1 public void doGet(HttpServletRequest request, HttpServletResponse response)
2 throws ServletException, IOException {
3 response.setHeader("Content-Type", "text/html;charset=utf-8");
4
5 int i = 98;
6 OutputStream out = response.getOutputStream();
7
8 out.write("</br></br><div align="center" style="font-size:25px; color:red">"
9 .getBytes());
10
11 // out.write(i); 会输出字母b
12
13 // 输出数字98
14 out.write((i + "").getBytes());
15
16 out.write("</div>".getBytes());
17 out.close();
18 }
字符流设置编码为utf-8输出:
1 public void doGet(HttpServletRequest request, HttpServletResponse response)
2 throws ServletException, IOException {
3 // 通知客户端查UTF-8码表
4 response.setContentType("text/html;charset=utf-8");
5 // 或者:
6 // response.setHeader("Content-Type", "text/html;charset=utf-8");
7
8 String str = "喔嘿嘿嘿嘿";
9 PrintWriter out = response.getWriter();
10 out.write("</br></br><div align="center" style="font-size:25px; color:red">");
11
12 out.write(str);
13
14 out.write("</div>");
15 out.flush();
16 out.close();
17 }
- Spring的事务传播行为
- Jquery 获取checkbox属性checked为undefined和改变状态 值不变
- Hibernate--Criteria Query and DetachedCriteria
- Python3 大作战之 encode 与 decode 讲解
- SpringMVC 文件下载时 浏览器不能正确显示另存的文件名
- 手把手教你用python抢火车票
- SpringMVC 实现多文件上传的两种方式及其效率比较
- Spring 之加载配置属性文件和注解属性绑定
- SpringMVC 提交表单400 Bad Request
- 如何在三年内快速成长为一名技术专家
- 【微信开发】getAccessToken 和 getJsapi_ticket缓存支持
- 微信JS-SDK 注入权限验证配置
- Maven 项目下slf4j 包冲突问题
- 谷歌教你学 AI-第三讲简单易懂的估算器
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android各版本查询和开启悬浮窗权限
- RuntimeException: setAudioSource failed异常
- Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
- Android TV 开发之 TV视频播放器
- Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐
- 1小时真正掌握正则表达式
- Android Studio 安装配置教程 - Windows(详细版)
- Android 天气APP(八)城市切换 之 自定义弹窗与使用
- Android 接入udesk SDK实现IM
- Android 天气APP(十二)空气质量、UI优化调整
- Python+selenium 自动化-调用dom节点的click()监听事件,强力操作节点!穿透元素进行点击,节点被遮挡不可点击解决方法
- pkl是什么类型的文件?怎么来打开它?
- Python 技术篇-如何查看文本用什么类型的编码,文本编码查看方法
- Elasticsearch:设置 Elastic 账户安全
- Git存管代码,实例演示