把XML上传到WEB,插入oracl数据库时,中文变为问号.
这是我的XML:
<?xml version="1.0" encoding="GB2312"?>
<BFCP>
<ServiceName>taxKernel.XFSKspzmx</ServiceName>
<JBXX>
<NSRSBH>320200757977788</NSRSBH>
<NSRPWD>1</NSRPWD>
<SSSQ_Q>20100601</SSSQ_Q>
<SSSQ_Z>20100630</SSSQ_Z>
</JBXX>
<XFS_CPY>
<KSPZMX>
<YSXFPMC>润滑油</YSXFPMC>
<PZLB>代扣代收税款凭证</PZLB>
<PZHM>01231686</PZHM>
<KPRQ>2010-01-02</KPRQ>
<SL>1013.4</SL>
<JE>20003.7</JE>
<SYSL>1.4</SYSL>
<XFSSE>7087.88</XFSSE>
</KSPZMX>
</XFS_CPY>
</BFCP>
这里解读XML
//解读明文
private static String fileIn(String filepath) throws Exception {
java.io.File file = new java.io.File(filepath);
int length = (int) file.length();
byte[] b = new byte[length];
try {
FileInputStream fis = new FileInputStream(filepath);
fis.read(b);
fis.close();
}
catch (Exception e) {
e.printStackTrace();
}
return new String(b, "GBK"); //这里转换成GBK格式
}
我把他转为GBK格式。
这里调上面这个解读的方法:hashdata.put("SBB_XFS_CPY_BQQDZYKCXFSPZMXB", fileIn(fileName[i]));
这里就是往数据库插入数据的方法:
Table t = TableLoader.getInstance().Load(tableName);
Vector v = t.getInsertSql();
我在这里调试看V的内容,V里面数字的值正常显示,但是里面的中文:润滑油却变成了问号,我试了很多格式,转换成GBK,uft-8,ISO-8859-1都不行,最后在取到V里面的时候中文还是为问号,请问这是怎么回事呢,有解决的办法吗?