问题描述
txt文件中有繁体字.在jsp中显示的是?号.怎么将繁体字显示出来,请大家帮忙看下in = new BufferedReader(new FileReader(strAbsPath + "//ttt.txt"));String f="~~~";while((str = in.readLine()) != null){ String tos = str;应该怎么转?
解决方案
将txt文件另存为.在另存对话框中,选择编码项为UTF-8.再将读取到的内容字符串进行编码.转换为UTF-8的格式.byte[] bytes = str.getBytes("UTF-8");String result = new String(bytes, "UTF-8");
解决方案二:
上面程序应该是可以的
解决方案三:
先将txt文件save as为Encoding是UTF-8的文件再将jsp中的pageEncoding和charset的值改为UTF-8
解决方案四:
需要搞清楚txt文件里的编码是什么才好说清楚。你是notepad打开的?如果是就另存,出现文件编码是utf的则是utf8如果是iso或西欧的则可能是big5或则gbk,是big5需要转码使用Java以字节读入,然后new String(bytes,“big5”);这样内存里就是正确的unicode了,直接输出io可用。
解决方案五:
import java.io.*;public class ReadFile {public static void readTextFile(){try{File file = new File("file.txt"); //路径你要具体指定一下!String line = null;InputStreamReader read=new InputStreamReader(new FileInputStream(file),"GBK"); BufferedReader reader=new BufferedReader(read);while( (line=reader.readLine())!=null){System.out.println(line);} reader.close();read.close();}catch(Exception e){e.printStackTrace();}}public static void main(String[] args) {readTextFile();}}
解决方案六:
指定字符集。比如big5。String encoding = "Big5";Reader reader = new BufferedReader( new InputStreamReader( new FileInputStream(filename), encoding ));