tr = new String(str.getBytes("UTF-8"),"GB2312");

解决方案 »

  1.   

    str = new String(str.getBytes("UTF-8"),"GB2312");
      

  2.   

    to tx18(华哥) :
       你这是转换string 字符串的格式吧,我这是要将流的编码改变。
     
    我用了:try {
    reader = new BufferedReader(new InputStreamReader(is, "GBK"));
    String d=new InputStreamReader(is, "GBK").getEncoding();
    doc.add(Field.Text("contents", reader));
    } catch (UnsupportedEncodingException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
    System.out.println("格式转换不对");
    }可用起来,还是不能检索(luncene)中文。
      

  3.   

    要用lucene检索中文,关键不在于此,作为一个数据流本身是没有什么编码的概念的,主要是这个数据流输入的原始数据是通过何种编码方式转成数据流的,你必需再用这种编码方式将它转回成原始数据。你要让lucene支持中文,最主要的是要有一个中文的词法分析器(Analyzer),这样就可以了
      

  4.   

    to:tigeryu(吴越小虎)
    lucene的1.3,standardAnalyzer不是就已经支持中文了吗?查询中文,能显示啊?
       这是为什么啊?
      

  5.   

    str = new String(str.getBytes("UTF-8"),"GB2312");
      

  6.   

    to: tigeryu(吴越小虎) 
       我用了weblucene的CJKanalyzer,可是还是不能查询中文?
    why?
      你知道有哪些好用吗?该怎么用啊?
      发到我信箱,ok?   [email protected]
      

  7.   

    用fileReader--encoding =utf-8 将以文件的内容以utf-8的格式读出来,将其内容放在String str中,
    注意噢,java 中总是以unicode的编码方式来设置String的,所以就不用管str本身的编码方式拉. 那么现在str保存的就是file中的内容了。
    下面用GB2312的编码方式对 str中的内容进行解码
    byte b[]= str.getBytes("GB2312").
    OK!
      

  8.   

    以下是我的解决方案,中文能识别了,可是这样的转换,把“ <  ” 解释为 &alt了, 我该怎么解决这个问题啊? Source source = new StreamSource(new FileInputStream(inFilename),"GBK");

    FileOutputStream fout=null;
    Writer out =null;
    try {
     fout=new FileOutputStream(outFilename);
    out= new OutputStreamWriter(fout, "GBK");

    } catch (UnsupportedEncodingException e1) {
    // TODO 自动生成 catch 块
    e1.printStackTrace();
    }
      

  9.   

    Charset
    CharsetEncoder
    CharsetDecoder
    在java.nio包里面
    enjoy~~
      

  10.   

    to freebyte(礁) 
    你的输入文件该不是XML吧
      

  11.   

    to yyfhz(火山):
      输入是XML文件