sqlserver2000 没有用过,但 tomcat 4.1 配 Oracle、MySQL 等都没有问题。

解决方案 »

  1.   

    是和数据库有关,我前一段时间将一个系统从Mysql下移植到Sql2000下,就发现这个问题,你在入库前需要转换一下即可解决!
      

  2.   

    谢谢各位兄台,可是对于我这样一个新手,该如何转换是个问题.我现在掌握的知识就是更改.jsp中的<%@ page contentType="text/html;charset=ISO8859_1" %>为<%@ page contentType="text/html;charset=gb2312" %> 但作用不大.别的办法有没有?
      

  3.   

    自己去找request的一个方法,绝对能满足你的要求,如果谁用了还搞不定,我把7000多分都送给她!
      

  4.   

    这个问题我碰到过
    不知道你的文字是用哪种类型?
    具体的我不记得了,其中有一种接近varchar类型的(中间也有这几个字母,但不是这种类型)把字段换成那种类型就可以了,当初我也是折腾了很久才解决的很久没用sqlserver了,所以不记得那种类型的名字了,但是记得应该是*varchar
    你找找吧
      

  5.   

    我查了一下 那种数据类型应时nvarchar,我替换后中文显示正常,谢谢各位兄台
    顺便问问 怎么给你们加分呀:)
      

  6.   

    //呵呵,我才发的一个帖子^_*
    不知道这里有没有大虾是在Win98上编辑JSP,然后上传到Linux上啊?其中的中文乱码是怎么完全解决的呢?各位的Tomcat和JDK是什么版本的啊?
    我在Win98+Apache1.3+JDK1.4.1+Tomcat3.1+mySql3.23上好好的,在红帽子Linux+Apache1.3+JDK1.4.1+Tomcat3.1+mysql3.23上怎么就有些乱码呢?
    //现在我的做法是每次修改了传到Linux服务器上,然后调试~~特麻烦啊:((
    //下面是我解决中文乱码的完全笔记,是不是有些时候多此一举的啊~~~数据库连接 &useUnicode=true&characterEncoding=GB2312
    在head.jsp里<%@ page contentType="text/html;charset=iso8859_1"%>
    <meta http-equiv='Content-Type' content='text/html; charset=GB2312'>
    JavaBean的编译:javac -encoding iso_8859_1在JavaBean里
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
        { response.setContentType("text/html; charset=GB2312"); }表单提交
    String FA=connect.toGB(request.getParameter("FA"));显示数据库查询记录:out.println(connect.GS(rs.getString("name")));//判断如果点击了"登 陆"按纽
    if(submit.equals(connect.toGB("登 陆")))//直接写入汉字到数据库
    insert into webqq (fromname) values (connect.toGB("本地工作室"));
    //就是不能直接insert into webqq (fromname) values ("本地工作室");//在jsp中传的参数的值为中文
    <a href="profile.jsp?action=show&member=<%=URLEncoder.encode(ffname)%>">
    其中的String ffname=connect.GS(friendname); 即为汉字“系统管理员”//把数据库中取得的结果转化--显示汉字 
    public String GS(String str)
      { try
         { String temp_p=str;
           byte[] temp_t=temp_p.getBytes("GBK");
           String temp=new String(temp_t,"iso8859_1");
           return temp;
          }
        catch(Exception e) { return "null";} 
      }//把表单中提交的中文进行转换
    public String toGB(String iso) { 
    String gb=null; 
      if (iso != null) { 
       try { gb=new String(iso.getBytes("ISO8859_1"),"GB2312"); } 
       catch (Exception e) { gb=null; } 
       } 
      return gb; 
    }