在我的 java 代码中,我从数据库中检索一些多字节数据并制作一些 xml DOM,将该数据作为某个节点的值,然后将 DOM 转换为 String 并通过 HTTPURLConnection 将字节测试发布到 ASP Page,但在接收端以某种方式结束数据显示为???? 而不是一些多字节值。请建议该怎么做。
我已经在做的事情..
1)我已设置-Dfile.encoding =UTF8
为系统属性 2)在TransformerFactory
用于将我的 XML DOM 转换为 String 时,我已设置
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8")
以确保那里的编码正确。请建议我哪里出错了。
@Jon Skeet 这里要添加的东西很少...... 1)我从数据库中正确获取数据 2)转换后的 XML 似乎也是正确的,因为我通过将其保存到我的本地文件系统进行了检查。
对于之前发布的内容,我使用了类似的东西
'dout = new DataOutputStream(urlconn.getOutputStream());'
'dout.write(strXML.getBytes());'
'dout.write(strXML);'
并且接收端的结果数据被转换为????? 但后来我切换到
'
dout=new OutputStreamWriter(urlconn.getOutputStream(),"UTF8");'
'dout.write(strXML);'
那么接收端的数据似乎是正确的......但在这种情况下,问题出现在接收端的处理方式上。在我正在使用的接收器 ASP 代码中objStream.WriteLine (oXMLDom.xml)
......在这里它失败并开始给出内部服务器错误......请建议第二种方法有什么问题。