Servlet中文乱码解决方法
程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。
字节流和字符流的区别:
在Java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。
在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,主要用来处理字节或二进制对象,字节流处理单元为1个字节,操作字节和字节数组;
在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成,主要用来处理字符或字符串,字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串。
(这四个都是抽象类)
使用字符流输出数字默认被认为是ASCII
response.getWriter().write(); 显示结果是 A
response.getWriter().write( + ""); 线上方结果为
字节流输出中文:
//拿到输出字节流对象
ServletOutputStream sos = response.getOutputStream();
byte[] bs = "大家一起去请假!!!".getBytes("UTF-8"); //告诉服务端所用的编码,通知浏览器要查询的码表
response.setContentType("text/html;charset=UTF-8"); sos.write(bs);
字符流输出中文
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("不流泪的机场");
}
下载中文文件名的文件
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//拿到文件的真实路径
String path = getServletContext().getRealPath("/WEB-INF/classes/借贷宝.jpg");
//创建一个输入流对象
InputStream is = new FileInputStream(path);
//处理中文文件名
String filename = path.substring(path.lastIndexOf("\\") + );
System.out.println("处理前的名称:" + filename); ServletOutputStream sos = response.getOutputStream();
//通知浏览器以下载的方式打开,使用URLEncoder进行编码
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename,"utf-8"));
response.setHeader("Content-Type", "application/octet-stream");
byte[] bs = new byte[];
int b = ;
while((b = is.read(bs)) != -){
sos.write(bs,,b);
}
is.close();
}
String中 == 和 equal方法的区别
java中 "==" 是用来比较两个String对象在内存中的存放地址是否相同;
在String中的equal方法是比较两个String对象的内容是否相同
请求参数的中文乱码问题:
post方式:告诉服务器用哪个码表解码
request.setCharacterEncoding("UTF-8");
get方式:
第一种:采用重建字符串方式:name = new String(name.getBytes("iso-8859-1"), "UTF-8");
第二种:修改服务器的配置文件 servet.xml
<Connector URIEncoding="UTF-8"/>
Servlet中文乱码解决方法的更多相关文章
- php mysql 中文乱码解决方法
本文章向码农们介绍php mysql 中文乱码解决方法,对码农们非常实用,需要的码农可以参考一下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行 解 ...
- jquery的ajax()函数传值中文乱码解决方法介绍
jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 代码如下: $.ajax({ dataType : ‘json', type : ‘POST', url : ‘http: ...
- [转]mysql导入导出数据中文乱码解决方法小结
本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...
- Zxing中文乱码解决方法
Zxing中文乱码解决方法总结 尝试过非常多方法 最后发现此方法解决的乱码最多....... 在百度搜索二维码图片 经过前2页的測试 除开一张图之外 其余都能扫描出结果 假设大家有更好的解决方法 ...
- unity3d 中文乱码解决方法——cs代码文件格式批量转化UTF8
在Unity3d中经常会碰到中文乱码的问题,比如代码中的[AddComponentMenu("GameDef/AI/战机AI")],注释,中文文本等等 其原因在于,unity本身是 ...
- Codeblocks中文乱码解决方法
odeblocks中文乱码解决方法: 特别提示:出现中文乱码情况才执行以下操作,未出现请勿随意修改!!!! 打开Codeblocks -> 设置 -> 编辑器: 然后点击 Encoding ...
- 可遇不可求的Question之导入mysql中文乱码解决方法篇
可遇不可求的Question之导入mysql中文乱码解决方法篇 先 set names utf8;然后 source c:\1.sql ?
- 使用WebLogic时控制台输出中文乱码解决方法
使用WebLogic时控制台输出中文乱码解决方法 1.找到weblogic安装目录,当前项目配置的domain 2.找到bin下的setDomainEnv.cmd文件 3.打开文件,从文件最后搜索第一 ...
- Django 分页查询并返回jsons数据,中文乱码解决方法
Django 分页查询并返回jsons数据,中文乱码解决方法 一.引子 Django 分页查询并返回 json ,需要将返回的 queryset 序列化, demo 如下: # coding=UTF- ...
随机推荐
- Android使用pull解析xml
一.理论准备 Pull解析器的运行方式与 SAX 解析器相似.它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件.跟SAX不同的是, ...
- BZOJ 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐
Description The cows are having a picnic! Each of Farmer John's K (1 <= K <= 100) cows is graz ...
- [wikioi]回家
http://wikioi.com/problem/1079/ 单源最短路径,可以用dijkstra来做.这里采用了heap优化,复杂度是(V+E)logV.这里用了STL的优先队列(堆),重复加入p ...
- Java+JQuery实现网页显示本地文件目录(含源码)
原文地址:http://www.cnblogs.com/liaoyu/p/uudisk.html 源码地址:https://github.com/liaoyu/uudisk 前段时间为是练习JQuer ...
- oracle core04_undo
undo信息 oracle中undo的信息主要完成下面的功能: 1,构建块一致性读 2,回滚事务 UBA:undo block address 1,块中的事务槽ITL中的UBA表示这个ITL所在的bl ...
- Oracle core03_ACID
ACID特性 oracle如何使用undo和redo来保证了关系数据库的ACID特性. ACID的特性简单描述为: Atomic:以事务为单位的原子性 Consistency:保证数据一致性 Isol ...
- JSOI2015 Round1——完挂
感觉眼前天地转了转…… Day 0 和zxy,zyh一同坐车去扬中,同行的还有llr 路上zyh基本在睡觉…… 入住的宾馆各种坑爹,同一层住的两个房间一个有网一个没网 我有幸入住了有网的房间,zyh在 ...
- C++ const&的一个特性
最近在搜索类似scope exit的实现时,除了发现已经有人向标准委员会提出意见,还得到一些意外的C++特性,这个特性一直都存在,而且很有趣 http://herbsutter.com/2008/01 ...
- JW Player 现在支持 Azure 媒体服务
Vishal Sood Azure媒体服务首席项目经理 此合作伙伴关系是关于什么内容? Azure媒体服务现已支持一些最常见的流媒体格式,其中包括 Microsoft SmoothStreaming ...
- jquery方法详解--bind(type, [data], fn)
转自:http://www.zhufengpeixun.cn/jquery/bind_type_data_fn.html bind(type, [data], fn) 返回值::jQuery 概述 ...