最近公司准备用开发一个短信功能,用华为的包去连接短信网关。但是在一切配好后,居然报错,但是又连接上了模拟网关。这问题就“妖”了······
下面是错误信息:
引用
[Fatal Error] :24:26: An invalid XML character (Unicode: 0xd863) was found in the element content of the document.
org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xd863) was found in the element content of the document.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:239)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
at com.huawei.insa2.util.Cfg.load(Cfg.java:666)
at com.huawei.insa2.util.Cfg.<init>(Cfg.java:70)
at com.huawei.insa2.util.Resource.init(Resource.java:53)
at com.huawei.insa2.util.Resource.<init>(Resource.java:41)
at com.huawei.insa2.comm.cmpp.CMPPConnection.getResource(CMPPConnection.java:103)
at com.huawei.insa2.comm.cmpp.CMPPConnection.<init>(CMPPConnection.java:39)
at com.huawei.smproxy.SMProxy.<init>(SMProxy.java:34)
at com.newcosoft.lsmp.communication.sms.cmpp.service.SmsCmppProxy.<init>(SmsCmppProxy.java:73)
at com.newcosoft.lsmp.communication.sms.cmpp.service.CmppSendHandler.<init>(CmppSendHandler.java:44)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.newcosoft.lsmp.communication.message.pool.PoolDispatcher.<init>(PoolDispatcher.java:62)
at com.newcosoft.lsmp.communication.sms.cmpp.CmppProxyService.<init>(CmppProxyService.java:51)
at com.newcosoft.lsmp.communication.sms.test.CmppProxyTest.testSendMsg(CmppProxyTest.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
这个问题我找了两天,去网上也查了资料。也知道是字符编码集的问题,但是就是没解决。最后找同事来看看,拿之前的短信项目做对比,发现原来是执行文件的编码集也要改掉。因为华为的CmppProxy是用GB2312的编译环境编译的,所以无论我怎么去改XML的编码集都不行,哎~~又长见识了·····
分享到:
相关推荐
对于使用MyEclipse作为JavaScript开发环境的开发者来说,正确设置JS文件的编码集可以避免乱码问题,确保程序的正常运行。本文将详细讲解在MyEclipse中设置JS文件编码集的两种方法。 方法一: 1. 首先,打开...
正确选择和使用编码集可以避免乱码问题,确保信息的准确传输和显示。在处理非ASCII字符时,Unicode通常是首选,因为它具有广泛的语言覆盖和良好的互操作性。而对于特定地区,如中国大陆和台湾,GBK和BIG5则在历史和...
cocos2d-x android 用到的iconv外部库,能编译上真机,具体方法参考博客 http://blog.csdn.net/zhengyayuan123/article/details/8879671
### Java字符集编码问题详解 #### 一、引言 在Java编程中,字符集编码问题是一个常见且重要的议题。由于不同的系统、平台以及网络环境中可能存在多种字符编码格式,这导致了在处理文本数据时可能会遇到编码不一致...
字符集和编码, 原来是这样
因此,深入理解Java中的字符集和编码对于解决这些问题至关重要。 #### 二、基础知识 ##### 1. ASCII编码 ASCII编码(American Standard Code for Information Interchange,美国标准信息交换码)是由美国国家标准...
Oracle 12C修改编码集的步骤是为了确保数据正确显示,避免乱码问题。以下是一些关键知识点和解决方法: 1. **查看当前数据库字符集**: 使用`SELECT userenv('language') FROM dual;`查询当前会话的语言环境和字符...
通用的文件字符编码集判断需要借助第三方包cpdetector.jar 使用Cpdetector jar包检测文件编码需要依赖antlr-2.7.7.jar、chardet-1.0.jar、jargs-1.0.jar三个jar包 本下载资源一站式全包含,并附带亲测有效的片段...
字符集编码是信息处理领域的一个基本技术,它涉及将自然语言中的字符集合与数字系统之间建立对应关系,从而使得计算机可以处理和存储文本信息。字符集是系统支持的所有抽象字符的集合,这些字符包括各国文字、标点...
本文将围绕“Java字符集编码简记”这一主题,深入探讨相关知识点,并结合标签“源码”和“工具”,探讨在实际开发中如何运用和处理字符编码问题。 首先,我们需要理解字符集的概念。字符集是一系列符号的集合,例如...
Mysql数据库中的字符集编码问题是许多开发者经常遇到的一个问题,特别是在JAVA项目中。解决这个问题需要从多方面入手,包括服务器、数据库、数据表和连接等四个层次。这篇文章将详细介绍如何解决Mysql数据库乱码问题...
文档中主要介绍了各类字符集以及相关的字符编码,字符的显示原理,从输入到显现的整个过程,程序中出现的乱码问题以及解决方案
在 MyEclipse 中,设置编码字符集可以解决乱码问题。具体步骤如下: 1. 打开 MyEclipse,点击 "Windows"-"Preferences"-"General"-"Content Types",将 "Java Class File" 和 "Text" 的 "Default encoding" 改为 ...
JAVA及相关字符集编码问题 在深入探讨JAVA与字符集编码问题之前,我们首先需要理解不同字符集编码的基本概念以及它们在JAVA环境中的应用。字符集编码是计算机系统中表示文字的一种方式,它决定了如何将字符转换为二...
《多目标整数编码的遗传算法求解集装箱船配载问题》 在物流与运输领域,尤其是海运行业中,集装箱船的配载优化是一项至关重要的任务。它涉及到如何合理地安排集装箱在船舶上的装载位置,以确保船只的稳定性和装载...
在Web开发中,字符集编码问题经常成为开发者需要解决的关键技术挑战之一。不同语言、不同系统间的字符编码差异可能导致数据在传输过程中出现乱码等问题。因此,理解字符集编码的基本原理及如何在实际开发中正确配置...
### 集装箱编码规则解析与验证方法 在国际贸易与物流领域,集装箱作为货物运输的重要载体,其编码系统扮演着关键角色。ISO 6346-1995标准规定了全球统一的集装箱编码规则,确保了集装箱在全球范围内的唯一识别与...
ASCII编码集 很有用!
总的来说,编码转换工具集是一个强大而实用的工具,能够帮助开发者和用户处理跨平台、跨语言的数据转换问题,保证信息的准确无误传递。在实际工作中,理解和掌握各种字符编码,以及如何进行有效的转换,对于解决字符...