sybase client 安装  chinese language 了吗?---我使用的是 12.0 版本

解决方案 »

  1.   

    你先看看String bytes取出来的时候是什么编码,然后就好办了。
      

  2.   

    直接取数据不用转换
    String sStr = rs.getString("fName") ;try:
      

  3.   

    To: bxh777(hydrus)
       我的版本是11.9.2,已经安装了中文语言了,因为我直接在sql advantage上查询结果,中文显示正常的To:yakuu(享受孤独)
        该怎么看它是什么编码呢,我取出来的bytes是“[B@586cbd”,对应的汉字应该是“第一税种名称”To:Andrawu(Andrawu) 
        不行的,如果不转换,显示出来的是不识别的汉字
      

  4.   

    你用这个试一下:
    public String getChin(String str) {
    try {
    if(str == null){
    return null;
    }
    else{
    str = str.trim();
    String temp = new String(str.getBytes("GBK"),"ISO8859-1");
    return temp;
    }
    } catch (Exception e) {
    return null;
    }
    }
      

  5.   

    问题可能出在你的JSP或Servlet语句中
    如果是JSP,应该加上 <%@ page contentType="text/html; charset=gb2312" %>
    如果是Servlet应该加上response.setContentType("text/html;charset=gb2312");
      

  6.   

    To: bxh777(加瓦),谢谢你的热心,我也试了你的方法,得出来的结果更乱了,连几个汉字都没法看出来To: powerball(力量) 没用的,我是jsp页面,已经加了那句话,别的中文都可以显示的真是很奇怪的问题啊!
      

  7.   

    text,Varchar字段,应用new String(rs.getBytes("colname"),"gb2312");
    try on:
      

  8.   

    将所有可能的编码都列出来排列组合一下,因为具体不知道你的情况,但是总有一个是正确的。
    其实中文编码问题很简单,我建议你尽量不要用getBytes来操作,这样影响你程序的性能。
      

  9.   

    to apengyun(白啸天) 
    <%@ page contentType="text/html; charset=gb2312" %>
    try
      

  10.   

    to  sunharck(凤林king)   错误,我这里进去出来都要处理,不然的话就是乱码。
    to  firefoxyu (鱼儿)  我这里的运行环境和你的有点像,copy 一段代码在我这里运行看行不行。我连着两天了,一直在修改程序处理中文乱码问题。但愿,程序换到别的机子上不会再有这个问题。
      

  11.   

    to: WalkSing(我行) 
      不行啊,出现错误如下:
    java.sql.SQLException: JZ0TE: 试图在非法的类型对之间进行 转换。有效的数据库数据类型为:'varbinay, long binary, binary, image'to: bxh777(加瓦) 
       我用的方法都是本论坛里面网友提供的方法,全部如下:方法一:
    public String toGb(String uniStr){
        String gbStr = "";
        if(uniStr == null){
          uniStr = "";
        }
        try{
         byte[] tempByte = uniStr.getBytes("ISO8859_1");
         gbStr = new String(tempByte,"GB2312");
         //gbStr = new String(tempByte,"GBK");
        }catch(UnsupportedEncodingException uef){
       }
        return gbStr;
      }方法二:
    public String Bytes2Gb(String  bytes)  {
        String result = null;
        if(bytes!=null && !bytes.equals(""))  {
          try{
            result = new  String(bytes.getBytes("ISO-8859-1"),"gb2312");
            //result = new  String(bytes.getBytes("ISO8859_1"),"GBK");
          }catch(Exception ex){
            System.out.println("Error Message of Bytes2Gb:" + ex.toString());
            ex.printStackTrace();
          }
        }
        return result;
      }
    方法三:
    public String getChin(String str) {
    try {
    if(str == null){
    return null;
                    }else{
    str = str.trim();
    String temp = new String(str.getBytes("GBK"),"ISO8859-1");
    return temp;
                    }
    } catch (Exception e) {
    return null;
    }
    }以上方法的逆方法我也用上了,调用方法如下:
    public String getSzmc(String id){
        String result = "";
        try{
          strSql = "SELECT sz_mc FROM m_sz WHERE sz_id='" + id + "'";
          rs = this.sqlSelect(strSql);
          if (rs.next()){
            result = rs.getString("sz_mc");
            System.out.println("中文resultA=" + toGb(toUni(result))) ;
            System.out.println("中文resultB=" + toGb(result)) ;
            System.out.println("中文resultC=" + Bytes2Gb(result)) ;
            System.out.println("中文resultD=" + Bytes2Gb(Gb2Bytes(result))) ;
            System.out.println("中文resultE=" + getChin(result));
          }else{
            result = "没找到";
          }
        }catch(Exception ex){
          System.out.println("取税种名称出错:" + ex.toString()) ;
          System.out.println("sql=" + strSql) ;
        }
        return result;
      }可惜输出的结果没有一种是正确的啊
      

  12.   

    注意以下问题:
    1. 你的JSP文件的编码。设置contentType与你文件的实际编码相同。一般Windows环境下设置为GB2312即可。但是注意不要把contentType设置成gb2312,文件却以unicode存盘。(应用本条可解决静态汉字的编码问题)
    2. 你的数据库的编码。即了解数据库里用什么编码保存。比如gb2312、utf-8还是iso-8859-1?
    3. 你的JDBC是否与该数据库的语言版本相符?
    4. 你的JSP引擎是否有中文问题(用一个form提交中文参数能否显示)?请参考IBM dW中的Java汉字编码问题的文章,应该可以解决。
      

  13.   

    <%@ page contentType="text/html;charset=8859_1" %><meta http-equiv="Content-Type" CONTENT="text/html;charset=gb2312">
      

  14.   

    to  firefoxyu (鱼儿)  我这里的运行环境和你的有点像,copy 一段代码在我这里运行看行不行。