web项目的乱码问题

发布于 2021-11-16 23:52:22 字数 832 浏览 870 评论 4

下面是我的servlet  doget代码,各位大神帮我看看,小弟在此谢谢!

public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html;charset=utf-8");
  request.setCharacterEncoding("utf-8");
  
  //testing file input and output
  String filepath=request.getRealPath("/file/aa.lrc");
  File file=new File(filepath);
  String content="";
  try {
   
   FileInputStream fis=new FileInputStream(file);
   
   int rs=0;
   byte[] data=new byte[1024];
   while((rs=fis.read(data))>0){
    content+=new String(data,0,rs);
    
   }
   
  } catch (Exception e) {
   e.printStackTrace();
   // TODO: handle exception
  }
  
  System.out.println(content);
 }

上面输出的content是乱码。。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

甜柠檬 2021-11-22 09:55:50

web.xml中设置过滤器 

后知后觉 2021-11-22 08:37:41

在web.xml里面设置过滤

无声静候 2021-11-22 05:19:54

乱码很正常。 你用的是FileInputStream fis=new FileInputStream(file); 只要文件不是以utf-8无bom保存的基本都要乱码。

BufferedReader reader = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
String line = null;
while((line = reader.readLine()) != null) {
    content += line;
}
System.out.println(content);
UTF-8乱码则换GBK, 就有一个不乱码的。 记得关闭输入流噢,亲。。。
英雄似剑 2021-11-22 03:19:57

首先,看你的这个java文件是不是utf8保存的,然后看应用服务器,是不是要设置.在tomcat里的话,就有个server.xml文件里面的http配置,要加一个codeing=utf8什么的.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文