JSP 为什么我使用的是字符流还会出现乱码

JSP 为什么我使用的是字符流还会出现乱码
文本的编码是utf-8

img

img

<%@page language="java" import="java.util.*" pageEncoding="utf-8" %>
<%@page import="java.io.*"%>


    create Directory


<%
    try{
        FileReader fileReader=new FileReader("e://JSP/ch07/contentread.txt");
        BufferedReader bufferedReader=new BufferedReader(fileReader);
        File file=new File("e://JSP/ch07/contentwrite.txt");
        if(!file.exists()){
            file.createNewFile();
        }
        FileWriter fileWriter=new FileWriter(file);
        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
        String str=null;
        while((str=bufferedReader.readLine())!=null){
            bufferedWriter.write(str);
            bufferedWriter.newLine();
            bufferedWriter.flush();
        }
        bufferedWriter.close();
        bufferedReader.close();
    }catch(FileNotFoundException e){
        e.printStackTrace();
    }catch(IOException e){
        e.printStackTrace();
    }
%>





read文件你的打开方式是UTF-8
write文件你的打开方式是ANSI

img

建议再写文件的时候制定文件编码,参考如下:
https://blog.csdn.net/lhdxflwb/article/details/122554394

如果body里边写正常的中文显示没问题,那就是你读取写入文字的编码跟你jsp规定的代码不一致,设置bufferedWriter的编码格式为utf-8试试看

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

http://t.csdn.cn/5sw0I

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/722031
  • 除此之外, 这篇博客: 那些关于JSP笔试的事儿-jsp笔试测试99题中的 以下代码中可以正确设置客户端请求编码为UTF-8 的是( )(选择一项) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • A.request.setCharacterEncoding("UTF-8")
    B.request.setCharset(“UTF-8”)
    C.request.setContentType(“UTF-8”)
    D.request.setEncoding(“UTF-8”)
    正确答案:A

设置UTF-8