解决办法:
第一:
在jsp页面加入:
<%@ page contentType="text/html; charset=gb2312" %>
或者在servlet里面
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html; charset=gb2312");
上面的如果在不行就用如下的方法在数据入库前进行调用:
public static String UnicodeToChinese(String s){
  try{
     if(s==null||s.equals("")) return "";
     String newstring=null;
     newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
     return newstring;
    }
  catch(UnsupportedEncodingException e)
  {
  return s;
  }
  }public static String ChineseToUnicode(String s){
  try{
  if(s==null||s.equals("")) return "";
  String newstring=null;
  newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
   return newstring;
  }
  catch(UnsupportedEncodingException e)
  {
  return s;
 }
  }

解决方案 »

  1.   

    您用DataInputStream包装一下,然后用read()方法读啊! readLine()方法当然不能读中文了
      

  2.   

    请不要使用FileInputStream类,改用FileReader类就可以解决中文问题.
      

  3.   

    但如果我read()读实际上也是一样的阿如果我用read()读数据源数据再将数据写到一个新的文件中,数据员的中文能够显示在新文件中,但显示在屏幕上就是乱码,不知道是什么原因呢?
      

  4.   

    to sunlinux(阳光) 
    例如:  FileInputStream fin= new FileInputStream("java.txt");
      FileOutputStream fout= new FileOutputStream("new.txt");  char fint; 
      //读取前100字节,其中包含中文
      for(int i=0;i<100;i++)
     {
           fint=fin.readChar();
           fout.write(fint);//中文能够写到文件中
           System.out.println(fint);//显示器显示乱码
      }请问why?
      

  5.   

    to ralihm(raly) :     因为fint 是一个char类型啊,那用System.out.println()打出当然是乱码了,  但是FileOutputStream 的 write()是方法内部处理过了!     你可以试着用 LineNumberReader 的readLine()方法读到一个String变量里,再用System.out.println(strVariable); //strVariable是一个String变量或者是StringBuffer变量
         部分代码如下:
          File inFile = new File("java.txt");
          try{
              LineNumberReader inputFile = new LineNumberReader(new  FileReader(inFile));
              while((strVariable=inputFile.readLine())!=null)
              {
                   System.out.println(strVariable);  //屏幕上打出
               }
              
          }catch(....){.......}