Tuscany SDO中的中文问题
作者:ling091 时间:2008-12-17
由于SDO使用的xml解析器libxml2对中文字符存在编码转换问题,所以通过xml文件或字符串反序列化创建的SDO对象中的属性中如果有中文就会显示为乱码。而且向反序列化方法传递的参数的形式也可能使得SDO对象创建失败。详见《Tuscany SDO中的Bug》http://ling091.iteye.com/admin/blogs/295438。
解决此问题的一种方法是在输出时带有中文的内容时首先对其进行格式转换然后再输出,可以使用iconv提供的api进行UTF-8和GB2312之间的编码转换。iconv库api的使用见《Libxml2中的中文问题的解决》http://ling091.iteye.com/admin/blogs/295872。
另一种方式是修改SDO,在构造SDO对象时,就对其进行格式转换,但这种方式在直接将SDO对象写入文件或数据库时有可能面临新的问题。
需要注意的是,从xml字符串或xml文件构造SDO时,编码必须是UTF-8,因为libxml2默认的编码方式就是UTF-8,否则会构造不成功。这里的编码方式不仅仅是指xml文件头部的encoding = "UTF-8", 而是需要使用支持UTF-8编码格式的编辑器进行编辑(如Altova XMLSpy、Ultra Edit32),直接使用txt编辑的中文不是UTF-8编码的。
另外由于从文件和xml构造SDO对象的实现方式不同,需要xml文件的头部必须是encoding = "UTF-8" ,而字符串写成encoding = "UTF-8" 或"GB2312",甚至没有xml头都是可以的。
分享到:
相关推荐
在C++版的Tuscany SDO中,这个概念被实现为一个库,允许C++开发者轻松地处理和操作数据。 **SDO的核心特性** 1. **统一的数据模型**:SDO定义了一种统一的数据模型,无论数据来源何处,如数据库、XML文件或Web服务...
### Tuscany-SDO-学习笔记 #### 1. SDO基础知识 ##### 1.1 创建DataObject **1.1.1 动态定义类型,然后创建DataObject** 在这一节中,我们将探讨如何通过动态定义类型来创建DataObject。这种方式允许我们在运行...
标题中的“tuscany-das&sdo&distribution-all.zip”提到了三个关键概念:Tuscany Data Access Service (Tuscany DAS),Service Data Objects (SDO) 和 Distribution。这表明该压缩包可能包含了与这些技术相关的软件...
自制CHM版的API文档,带索引。 注:如果各位下载后打开或无法显示页面,请在CHM文件右键—属性—解除锁定即可。
在这个“Tuscany发布Web服务实例”中,我们将深入探讨如何利用Tuscany来配置和发布一个简单的Web服务接口。 1. **Tuscany简介** Tuscany的设计目标是支持多种服务交互协议和服务模型,如SOAP、REST、JMS等,并且...
【压缩包子文件的文件名称列表】中的 "tuscany-sca-1.6.2-src" 表明这是Apache Tuscany SCA框架的1.6.2版本的源代码文件。源代码对于开发者来说至关重要,因为它提供了项目的原始构建块,允许他们深入理解代码的工作...
Tuscany源码的分析有助于深入理解SCA的工作原理以及如何在实际开发中应用这一框架。 SCA的核心概念包括组件、服务、绑定和配置。组件是应用程序的基本单元,可以提供或消费服务。服务是组件对外提供的接口,供其他...
在“apache-tuscany-sca-1.6.2”这个压缩包中,我们能找到Apache Tuscany的特定版本——1.6.2。这个版本包含了项目的所有源代码,这对于开发者来说是极其宝贵的资源,因为源码可以提供深入理解其内部工作原理的机会...
策略在Tuscany和SCA中扮演着关键角色,它们用于处理诸如身份验证、完整性、机密性等安全问题,以及日志和调试等服务质量(QoS)需求。 SCA策略框架允许策略意图和策略集的定义,以便在组件实现和绑定它们的接口之间...
根据提供的文件信息,本文将详细解析Tuscany与Spring、Axis整合的相关知识点,以及如何解决在整合过程中可能遇到的jar包冲突问题。 ### Tuscany简介 Tuscany项目是Apache软件基金会的一个顶级项目,专注于提供一个...
10. **社区支持与资源**:学习如何利用Apache Tuscany的社区资源,包括文档、论坛、邮件列表等,以便于解决问题和获取最新的开发动态。 通过这份Step By Step的用户指南,你将能够逐步掌握Apache Tuscany SCA的使用...
由于压缩包中已删除了`lib`文件夹中的jar,你需要手动添加这些依赖到你的项目类路径中,包括Tuscany的SCA实现、Spring的核心库和Hibernate的JAR文件。 2. **创建SCA组件**:定义SCA组件,这些组件可以是Spring Bean...
Tuscany架构 Tuscany架构.jpg Tuscany架构.jpg
实现SDO需要在项目中引入相应的库,如Apache Tuscany,它是开源实现SDO的一个重要框架。配置完成后,可以通过创建数据图和数据对象来开始数据访问操作。 1. **Apache Tuscany的Java SDO** - **将XML转换为Data ...
最后,书中还讨论了SCA应用的部署和管理问题,包括如何配置运行时环境、监控应用状态以及处理故障恢复等。 《Tuscany SCA在行动》不仅是一本理论书籍,更是实践者们的指南。它不仅覆盖了SCA的基本原理,还提供了...
tuscany wsdl2java tools
2. **示例代码**:实例中可能包含了演示如何使用Apache Tuscany创建和部署SCA组件的代码。这些代码可能包括服务组件、绑定接口和服务配置文件。 3. **文档**:除了代码,可能还附带了详细的文档,解释了如何理解和...
5个代码例子使用的是 Tuscany1.5版本。请在官网下载jar包。 下载地址:http://archive.apache.org/dist/tuscany/java/sca/1.5/apache-tuscany-sca-1.5.zip 5个例子从不同的角度讲解了tuscany的整体架构思想。文档...