如何UTF-8转换为GB-2312?

freebyte 2004-03-29 01:03:33
我要读取一个UTF-8的文件:new StreamSource(new FileInputStream(inFilename))
读取后,我能把它转换为GB-2312编码吗?或其他显示中文的编码
...全文
108 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
freebyte 2004-04-07
  • 打赏
  • 举报
回复
to yyfhz(火山):
输入是XML文件

freebyte 2004-04-07
  • 打赏
  • 举报
回复
就是XML文件啊?
yyfhz 2004-04-06
  • 打赏
  • 举报
回复
to freebyte(礁)
你的输入文件该不是XML吧
allenhe 2004-04-06
  • 打赏
  • 举报
回复
Charset
CharsetEncoder
CharsetDecoder
在java.nio包里面
enjoy~~
freebyte 2004-04-06
  • 打赏
  • 举报
回复
以下是我的解决方案,中文能识别了,可是这样的转换,把“ < ” 解释为 &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();
}
yyfhz 2004-03-29
  • 打赏
  • 举报
回复
用fileReader--encoding =utf-8 将以文件的内容以utf-8的格式读出来,将其内容放在String str中,
注意噢,java 中总是以unicode的编码方式来设置String的,所以就不用管str本身的编码方式拉. 那么现在str保存的就是file中的内容了。
下面用GB2312的编码方式对 str中的内容进行解码
byte b[]= str.getBytes("GB2312").
OK!
freebyte 2004-03-29
  • 打赏
  • 举报
回复
to: tigeryu(吴越小虎)
我用了weblucene的CJKanalyzer,可是还是不能查询中文?
why?
你知道有哪些好用吗?该怎么用啊?
发到我信箱,ok? bytefree@163.com
wwlzlk 2004-03-29
  • 打赏
  • 举报
回复
str = new String(str.getBytes("UTF-8"),"GB2312");
freebyte 2004-03-29
  • 打赏
  • 举报
回复
to:tigeryu(吴越小虎)
lucene的1.3,standardAnalyzer不是就已经支持中文了吗?查询中文,能显示啊?
这是为什么啊?
wuyue-tiger 2004-03-29
  • 打赏
  • 举报
回复
要用lucene检索中文,关键不在于此,作为一个数据流本身是没有什么编码的概念的,主要是这个数据流输入的原始数据是通过何种编码方式转成数据流的,你必需再用这种编码方式将它转回成原始数据。

你要让lucene支持中文,最主要的是要有一个中文的词法分析器(Analyzer),这样就可以了
caiyanying732 2004-03-29
  • 打赏
  • 举报
回复
帮你顶
freebyte 2004-03-29
  • 打赏
  • 举报
回复
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)中文。
boy 2004-03-29
  • 打赏
  • 举报
回复
str = new String(str.getBytes("UTF-8"),"GB2312");
boy 2004-03-29
  • 打赏
  • 举报
回复
tr = new String(str.getBytes("UTF-8"),"GB2312");
freebyte 2004-03-29
  • 打赏
  • 举报
回复
有没有设置流的编码格式的东东啊

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧