当前页面: 开发资料首页 → JSP 专题 → 关于JSP操作文本文件的中文乱码的问题
关于JSP操作文本文件的中文乱码的问题
摘要: 关于JSP操作文本文件的中文乱码的问题
我做了一个用JSP操作file2.txt文本文件的程序可是在写入中文时总是写入????,不知道为什么,高手请指教.
源代码如下,
<head>
读写内容到文件</head>
<body>
<form name="form1" method="post"action="sample10.jsp">
请输入
<textarea name="textarea" cols="50" rows="10"></textarea>
<input type="submit" value="提交">
<input type="reset" value="重填">
</form>
</body>
下面是sample10.jsp的代码
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@ page import="java.io.*"%>
<head>
将内容写到文本</head>
<body>
<%
String path=request.getRealPath("/");
File fp=new File(path,"file2.txt");
FileWriter fwriter=new FileWriter(fp,true);
request.setCharacterEncoding("GBK");
String str_file=request.getParameter("textarea");
fwriter.write(str_file);
fwriter.close();
out.println("写入文件");
%>
</body>
我帮你试了一下, 根本没有问题... 是不是 LZ 搞错了..
编码换成iso-8859-1
乱码头疼, 还是基础不扎实, 我也一样, 对字符集等没有理解啊...
楼主:
把你的sample10.jsp改成如下这样就行了
</head>
<body>
<%
String path=request.getRealPath("/");
File fp=new File(path,"file2.txt");
FileWriter fwriter=new FileWriter(fp,true);
//request.setCharacterEncoding("utf-8");
String str_file=request.getParameter("textarea");
str_file = new String(str_file.getBytes("ISO8859_1"));
out.println(str_file);
fwriter.write(str_file);
fwriter.close();
out.println("写入文件");
%>
</body>