java 切换编码后无法还原_WebSphere 8.5.5.14上的Java应用程序编码问题-XML解析:第1行,字符39,无法切换编码...

我在本地安装了此设置,在将xml字符串插入sql表中的xml类型列时遇到此错误。请回顾并分享您的想法以解决此问题。

注意

:我将SAXBuilder用于xml document,并在将该xml文档作为参数传递之前使用format.setEncoding(“UTF-16”)。

另外要注意的是,当我使用tomcat 8和9运行应用程序时,我没有看到任何这样的问题。只有在与WebSphere集成之后,我才看到这个问题。

服务器

:Websphere Application Server 8.5.5.14

SQL服务器

:2014年

使用JDBC

:sqlJdbc41.jar和sqljdbc4.jar

使用目标IBM JDK

:jdk1.7_64号

错误详细信息

:

Cause SQL Exception Info for exception at level 0 - SQL State: 'S0001'; SQL Error Number: '9402'; SQL Error Text: 'XML parsing: line 1, character 39, unable to switch the encoding

com.microsoft.sqlserver.jdbc.SQLServerException: XML parsing: line 1, character 39, unable to switch the encoding

at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecuteUpdate(WSJdbcPreparedStatement.java:1295)

at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeUpdate(WSJdbcPreparedStatement.java:836)

尝试了以下选项,但我没有帮上忙。

更新了WebSphere\AppServer\Properties\encoding.Properties(WAS)文件,将此条目en=ISO-8859-1保留为en=UTF-8。

也尝试了以上与UTF-16以及。

也尝试在JVC泛型参数中更新以下内容。

-Dclient.encoding.override=UTF-8

-Dfile.encoding=UTF-8编码

由于我的应用程序使用tomcat,所以我不希望通过使用CAST/或传递前缀为N'xxxmlxx'的xml string来更改任何代码来更正xml字符串。我很快也会尝试修改代码。同时,任何其他的想法都会有帮助。

我需要尝试使用最新的jdbc jar(mssql-jdbc-6.2.2.jre7.jar)吗?

我需要尝试使用websphere bundled sdk 1.8吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值