对,有中文的,
(用varchar的就没有这种情况)
该怎么解决啊?

解决方案 »

  1.   

    进行字符编码转换;
      //中文编码的转换
       public String toGb(String uniStr){
        String gbStr = "";
        if(uniStr == null){
          uniStr = "";
        }
        try{
         byte[] tempByte = uniStr.getBytes("ISO8859_1");
         gbStr = new String(tempByte,"GB2312");
        }catch(UnsupportedEncodingException uef){
       }
        return gbStr;
      }
      public String toUni(String gbStr){
        String uniStr = "";
        if(gbStr == null){
          gbStr = "";
        }
        try{
         byte[] tempByte = gbStr.getBytes("GB2312");
         uniStr = new String(tempByte,"ISO8859_1");
        }catch(UnsupportedEncodingException uef){
       }
        return uniStr;
      }
      

  2.   

    to weidegong(weidegong)
    你的这些东西是解决中文问题的,
    可我的情况只是从数据库ntext字段中调出来的有乱码,
    而别的html和从varchar中的调出来的中文就不会乱码.
    谢谢!
      

  3.   

    我又试了一下,发现如果用英文开头就可以得到正确的结果。
    比如:
    如果ntext类型字段中是“a你好”,getString()输出正常。
    如果ntext类型字段中是“你好”,输出“`O}Y”这几个东西。
    高手给点意见吧!
    谢谢!
      

  4.   

    很可能是sqlserver的默认编码有问题
    可以试试去设置一下
      

  5.   

    to saintKnight(saintKnight)
    对,我是手动添加的数据。
    那么在保存之前应该如何进行编码转换?
    烦请告之,谢谢!to dynku(随风来去.cn)
    我用上面的代码给输出的信息编码,结果还是乱码。
      

  6.   

    把ntext改成了text,发现显示正常了,没有使用任何代码转换。
    高手解释一下吧