解决response.getOutputStream()输出页面txt文本中文乱码

在处理附件预览需求时,遇到txt文本在线预览出现中文乱码的挑战。尝试设置不同的字符集,如utf-8、iso8859-1,最终通过设置为gb2312解决了问题。关键代码包括读取文件内容、重置响应、设置内容类型为gb2312以及写入输出流。
摘要由CSDN通过智能技术生成

几天公司要求做一个附件预览的需求,txt在线预览,已流的形式输出到页面,一直显示中文乱码,后来尝试res.setContentType(“text/plain;charset=utf-8”);还是不行,将charset="utf-8"改成charset="iso8859-1"依然不行,最后直接将其设置成gb2312
,奇迹出现了,不乱吗了,多尝试一下,肯定可以的,下面上一段代码:

这里是引用
public void openOtherTxt(HttpServletRequest request,HttpServletResponse res)throws Exception{
String path = request.getParameter(“path”);
path = URLDecoder.decode(path,“UTF-8”);
byte[] bdata = fileToBytes(path);
res.reset();
//res.setCharacterEncoding(“UTF-8”);
res.setContentType(“text/plain;charset=gb2312”);
if(bdata!=null){
OutputStream op;
try {
op = res.getOutputStream();
op.write(bdata);
op.close();
if (op.equals(null)) {
res.flushBuffer();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值