一个令我睡不着觉的问题?请大家帮帮俺 帮你UPUP没有遇到过看看XML的标签有没有编码正确 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 文件头为<?xml version="1.0" encoding="gb2312"?>也没有作用,如果客户端向服务器端发送中文时,服务器端可以正常看到中文;服务器返回xml数据时,收到的是偶尔变为乱码的数据。不知道错误出现在哪里,请指教 那可能是你在生成xml的时候是否已经乱码了?把xml打印到System窗口看看,客户端乱码的时候服务段是不是乱码还有,你是用的其他客户端还是浏览器测试的? <?xml version="1.0" encoding="gb2312"?> ~~~~~~~~~~请使用GBK字符集<?xml version="1.0" encoding="GBK"?>应该是你的字符超出了GB2312,用GBK看看 看看portal导出的xml文件吧,里面有对中文的处理方式, 使用过GBK,问题没有解决,不过原因我觉得时weblogic的问题 server端weblogic的字符集,和client不一样吧? 这样你在生成XML文件的时候,我不知道你用的方式,不过我用的方法如下 public static void outxml(Document document,String fileName){ if (document != null){ XMLOutputter outp = new XMLOutputter(); try { FileOutputStream writer = new FileOutputStream(fileName); outp.setEncoding("iso_8859_1");//这里设置他的字符集 outp.output(document, writer); writer.close(); } catch (IOException ex2) { ex2.printStackTrace(); } } } ava中文乱码的解决 文章类别:jsp加入时间:2003-7-22 人气指数:3700 在基于JAVA的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。以前我也经常为这个问题而苦恼,后来经查了些资料,终于解决了,我知道一定有很多朋友也会碰到这个问题,所以特就总结了一下,来拿出来让大家一起分享了。1、在网页中输出中文。JAVA在网络传输中使用的编码是"ISO-8859-1",故在输出时需要进行转化,如:String str="中文";str=new String(str.getBytes("GB2312"),"8859_1");但如果在编译程序时,使用的编码是“GB2312”,且在中文平台上运行此程序,不会出现此问题,一定要注意。2、从参数中读取中文这正好与在网页中输出相反如:str=new String(str.getBytes("8859_1"),"GB2312");3、操作DB中的中文问题一个较简单的方法是:在“控制面扳”中,把“区域”设置为“英语(美国)”。如果还会出现乱码,还可进行如下设置:取中文时:str=new String(str.getBytes("GB2312"));向DB中输入中文:str=new String(str.getBytes("ISO-8859-1"));4、在JSP中的中文解决:在“控制面扳”中,把“区域”设置为“英语(美国)”.在JSP页面中加入:如果还不行正常显示,则还要进行下面的转换:如:name=new String(name.getBytes("ISO-8859-1"),"GBK");就不会出现中文问题了。 如果你的控制台上打印是中文的话,那么问题出在服务器上你是直接输出xml文件地址还是通过jsp在页面上打印?<%@ page contentType="text/html; charset=GBK" language="java"%>jsp头做此声明,可能这里你用的GB2312,换乘GBK看看 请教一个字符集的问题 java ee路径问题 为什么不能级联添加 报奇怪异常 [紧急][在线等][关于Struts和IFRAME的问题,谢谢~] 求助 求教关于C3P0数据源连接的问题 struts裡驗證session怎樣做最方便?? SSL Socket通信,提示"No trusted certificate found"! WebSphere十万火急! 带默认值参数的函数的如何定义? 请问如何在JDOM中输出‘&’字符 jdbc小问题 请大家帮帮忙!!!
把xml打印到System窗口看看,客户端乱码的时候服务段是不是乱码
还有,你是用的其他客户端还是浏览器测试的?
~~~~~~~~~~请使用GBK字符集
<?xml version="1.0" encoding="GBK"?>
应该是你的字符超出了GB2312,用GBK看看
public static void outxml(Document document,String fileName){
if (document != null){
XMLOutputter outp = new XMLOutputter();
try {
FileOutputStream writer = new FileOutputStream(fileName);
outp.setEncoding("iso_8859_1");//这里设置他的字符集
outp.output(document, writer);
writer.close();
}
catch (IOException ex2) {
ex2.printStackTrace();
}
}
}
文章类别:jsp加入时间:2003-7-22 人气指数:3700
在基于JAVA的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。
这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。以前我也经常为这个问题而苦恼,后来经查了些资料,终于解决了,我知道一定有很多朋友也会碰到这个问题,所以特就总结了一下,来拿出来让大家一起分享了。
1、在网页中输出中文。
JAVA在网络传输中使用的编码是"ISO-8859-1",故在输出时需要进行转化,如:
String str="中文";
str=new String(str.getBytes("GB2312"),"8859_1");
但如果在编译程序时,使用的编码是“GB2312”,且在中文平台上运行此程序,不会出现此问题,一定要注意。
2、从参数中读取中文
这正好与在网页中输出相反如:
str=new String(str.getBytes("8859_1"),"GB2312");
3、操作DB中的中文问题
一个较简单的方法是:在“控制面扳”中,把“区域”设置为“英语(美国)”。如果还会出现乱码,还可进行如下设置:
取中文时:str=new String(str.getBytes("GB2312"));
向DB中输入中文:str=new String(str.getBytes("ISO-8859-1"));4、在JSP中的中文解决:在“控制面扳”中,把“区域”设置为“英语(美国)”.
在JSP页面中加入:
如果还不行正常显示,则还要进行下面的转换:
如:name=new String(name.getBytes("ISO-8859-1"),"GBK");
就不会出现中文问题了。
你是直接输出xml文件地址还是通过jsp在页面上打印?
<%@ page contentType="text/html; charset=GBK" language="java"%>
jsp头做此声明,可能这里你用的GB2312,换乘GBK看看