提问高手 xml串

defengaoshou2008 2008-07-31 10:58:52
我在 通过 一个 encodeBean方法把 一个Linkedlist转换为了 一个 xml字符串的时候,遇到了乱码问题。。
我 的encodeBean方法如下:
public String encodeBean(LinkedList bean) {

ByteArrayOutputStream out = new ByteArrayOutputStream();

XMLEncoder encoder = new XMLEncoder(out);

encoder.writeObject(bean);

encoder.close();

String linkedListStr =out.toString();

System.out.println(linkedListStr);//打印 这个的时候 发现其中 汉字 出现了乱码,
return linkedListStr;
}
其中 我的linkedlist 每一个 子元素 是一个含有汉字的javabean。

提问高手 有没有什么办法 ,linkedListStr现在是乱码,怎么 设置 成 utf-8,呢,有没有人 知道怎么解决?
...全文
132 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
友情UP
defengaoshou2008 2008-08-01
  • 打赏
  • 举报
回复
我觉得 会不会是和我 这个 传递 过来的 linkedlist 有关系呢?
这个linkedlist中每一个 元素是 一个 javabean,一个javabean中 的属性 是 汉字,会不会,
要设置 这个 javabean或者linkedlist的编码?
但是 又则呢设置呢?
qlrhoo 2008-08-01
  • 打赏
  • 举报
回复
CREATE TABLE `b_type` (
`typeid` int(11) NOT NULL,
`name` varchar(255) default NULL,
`inname` varchar(255) default NULL,
`tid` varchar(255) default NULL,
`intime` varchar(255) default NULL,
PRIMARY KEY (`typeid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
象这样的建表
qlrhoo 2008-08-01
  • 打赏
  • 举报
回复
其实你直接改数据库的编码方式啊
要是mysql,你建库的时候就选择utf8
表也是
乱码问题就没了
zapdos 2008-08-01
  • 打赏
  • 举报
回复
public String encodeBean(LinkedList bean) {

ByteArrayOutputStream out = new ByteArrayOutputStream();

XMLEncoder encoder = new XMLEncoder(out);

encoder.writeObject(bean);

encoder.close();

String linkedListStr =out.toString();

System.out.println(new String(linkedListStr.getBytes(),"utf-8"));//打印 这个的时候 发现其中 汉字 出现了乱码,
return linkedListStr;
}
zapdos 2008-08-01
  • 打赏
  • 举报
回复
这样解一下码
new String(linkedListStr.getBytes(),"utf-8")
defengaoshou2008 2008-08-01
  • 打赏
  • 举报
回复
怎么使用、?
defengaoshou2008 2008-08-01
  • 打赏
  • 举报
回复
我怎么知道 它原来的编码是什么呢?
我 试了 一下,new String( szText.getBytes(), "utf-8" )结果 所有 的“考”字都乱码。
xuhaiyang 2008-08-01
  • 打赏
  • 举报
回复
用OutputStreamWriter,不要用ByteArrayOutputStream
nKannan 2008-08-01
  • 打赏
  • 举报
回复
new String( szText.getBytes( "字符原来的编码格式"), "你希望的编码格式" )

比如把GBK转换为UTF-8
new String( szText.getBytes( "GBK"), "utf-8" )
thankyou2008 2008-08-01
  • 打赏
  • 举报
回复
up
thankyou2008 2008-08-01
  • 打赏
  • 举报
回复
在 String linkedListStr =out.toString();
设置 编码。
lzt2008 2008-08-01
  • 打赏
  • 举报
回复
String s=new String(str.getBytes("iso-8859-1"),"GBK");
把iso-8859-1转换成GBK

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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