应该不是吧
txt文件打开没有问题
jsp中对txt文件有什么格式要求吗?

解决方案 »

  1.   

    首先确认你的head.txt存储编码格式,以及bookmain.jsp的存储编码格式,如果都是GBK的话应该不存在乱麻问题,我刚才测试过,是不存在问题的。
    可以试试:
    <%@ page contentType="text/html;charset=GB2312" pageEncoding="GBK"%>
    pageEncoding指明的就是文件的存储编码格式。你用的<% request.setCharacterEncoding("GB2312"); %>
    是设定的页面以何种编码方式接收数据。
      

  2.   

    <%@ page language="java" contentType="text/html;charset=GB2312"%>应该是这样的,,楼主可以试试。
      

  3.   

    要么加个Filter进行过滤,编码的问题这样测试就可以  <%=new String("书目浏览".getBytes("ISO-8859-1"),"gb2312")%>
      

  4.   

    <%@ page contentType="text/html; charset=GB2312" %>
      

  5.   

    一般情况从数据库往网页上输出只要加这句<%@ page contentType="text/html; charset=GB2312" %>就行的了。
      不过最近我用MYSQL,也还是出问题。但只要做一个转换就可以正常输出了。
      方法同foxty的:
        <%=new String("书目浏览".getBytes("ISO-8859-1"),"gb2312")%>
     楼主可以参考。
      

  6.   

    JSP中文问题
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page contentType="text/html;charset=GBK"%>
    <%
    String name=new String(request.getParameter("name").getBytes("ISO-8859-1"));%>
    JSP所有的中文问题应该都可以解决了~
      

  7.   

    这里有一篇文章你可以看看,对大家都有好处!
    Jsp中文乱码小议
                -------郭鹏
    Jsp是一个很热门的话题,但让大多数人都头痛的是JSP页面中的乱码问题,笔者身有体会;曾为了解决中文乱码问题郁闷了好几天,试了很多方法都不行。最后在JSP专业人士的帮助下,终于解决。之后笔者曾对此做了一些小的研究。
    首先我们先了解一下问题的原因。一般情况在在每个JSP页的头部都有这样一条语句:
    <% page contentType="text/html; charset=gb2312" %>这条语句决定了此页面使用GB2312编码形式,而在数据库中一般用的是iso-8859-1字符集存储数据. 而Java程序在处理字符时默认采用统一的ISO-8859-1字符集(体现Java国际化思想),所以在添加数据时,默认的字符集编码是iso-8859-1,而页面采用的是GB2312,所以就出现乱码问题。为解决此问题应在存储的时候把GB2312换转成iso-8859-1。有此时候在读出时也会出现乱码,那么只需反过来就可以了,把iso-8859-1转换成GB2312。
    具体实例归纳了以下几点,也许会对大家有一些帮助。
    1、在建立JSP页面时应该注意在jsp页面的头部加入一下代码
    <% page contentType="text/html; charset=gb2312" %>
    此方法是解决JSP页面显示时的乱码。
    2、有时还需在HTML代码中的<head></head>中加入这句
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    3、在bean中用的是iso-8859-1编码,在jsp中一般用GB2312编码,处理此类乱码问题如下
    String str=new String(strName.getBytes(“iso-8859-1”),”GB2312”);
    具体用到此方法的地方为,当提交表单到bean(bean的功能是存储数据到数据库)表单提交后,数据库中存入的数据确变成了????,因此在调用bean之前应对编码进行转换,方法:String str=new String(request.getParameter().getBytes(“iso-8859-1”),”GB2312”);
    这样,存入数据库的数据库的数据就可见了。
    4、对于页面间的参数传递也可以用这个方法来处理乱码问题:
       public String getStr(String str)
       {
           try
       {
          String temp_p=str;
      byte[] temp_t=temp_p.getBytes("ISO8859-1");
      String temp=new String(temp_t);
      return temp;
       }
       catch(Exception e)
       {}
       return "null";
    }
    5、在表单定义时加上这个属性有时也可以解决表单提交过程中出现的乱码
    <form enctype="multipart/form-data"></form>
    6、提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:浏览器默认使用UTF-8编码方式来发送请求,而UTF-8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。解决办法:通过request.setCharacterEncoding("gb2312")对请求进行统一编码,就实现了中文的正常显示。
      

  8.   

    <%@ page contentType="text/html;charset=GBK" %>
      

  9.   

    楼上几位说的是在数据库中,不过我提的不是这个
    我今天试了一下,其实那个txt文件应该用<jsp:include page=""/>这个动作标签动态包含进来
    而不是用<%@ include file="head.txt" %>静态包含。