`

关于XML对特殊字符的编码

阅读更多

项目中遇到这类问题,比如“优褅股份”,采用GBK编码可以,如果采用GB2312编码的话,XML文件中会生成“优褅股份”,显然“褅”超出了他的编码范围,那么按照XML标准,将其采用UINCODE的统一编码格式进行编码。

这样对于公司EDI产品,如果编码采用GB2312编码,解码采用GBK,那么由于编码时生成“优褅股份”,能正常解码,如果编码采用GBK,解码用gb2312,那么由于gb2312无法识别“褅”,将解码失败。

 

如下示例:
db2xml(gb2312)-->String(Unicode)-->bytes(gb2312)---传输---bytes(gb2312)-->String(GBK)-->xml2db
优褅股份 -->  
优褅股份 (成功)                       

 

db2xml(GBK)-->String(Unicode)-->bytes(GBK)---传输---bytes(GBK)-->String(gb2312)-->xml2db
优褅股份 --> 优?股份 (失败)

 

另外学习到,String是java的内码进行编码的,就是Unicode,通过gb2312编码成字节数组时,该字节数组含gb2312编码信息,而Unicode是个全集,能自由地在各种编码之间转换。

类似oracle中存的中文数据,应该也是采用oracle内码决定的。

分享到:
评论

相关推荐

    解析XML特殊字符方法

    XML(eXtensible Markup ...总结来说,理解并正确处理XML特殊字符是XML编程中的基础,也是保证数据正确传输和解析的关键。不论是手动编写XML文档,还是通过编程语言操作XML,都应确保特殊字符被适当地转义或编码。

    xml转javaBean,javaBean转xml,xml标签大小写问题,以及对xml特殊符号的处理

    CDATA(Character Data)是XML中的一种特殊语法,用于表示一段纯文本,其中的XML特殊字符(如", ">", "&")不需要转义。在XML中,可以使用`<![CDATA[ ... ]]>`来创建CDATA段。当处理包含大量特殊字符的数据时,使用...

    XML编码批量转换工具

    总之,XML编码批量转换工具是解决XML文件编码不一致问题的有效工具,特别是对于处理包含多语言或特殊字符的大型XML项目而言。通过将文件转换为UTF-8编码,可以确保数据的准确性和跨平台兼容性。

    xml 的特殊字符的处理方法

    ### XML特殊字符转义 1. `转义为 `<` 2. `>` 转义为 `>` 3. `&` 转义为 `&` 4. `'` 转义为 `'` 5. `"` 转义为 `"` 例如,如果你的XML数据中包含字符串 `"It's a <good> day!"`,你应该将其...

    C# XML字符串包含特殊字符的处理转换方法小结

    为了正确地输出XML格式的数据,我们需要对这些特殊字符进行转换。 C# 提供了一个方便的方法 `System.Security.SecurityElement.Escape()` 来自动转义XML字符串中的特殊字符。例如,你可以这样使用: ```csharp ...

    SQL Server查询中的特殊字符处理(C#代码)

    在IT领域,尤其是在数据库操作与编程中,对特殊字符的处理是至关重要的。特殊字符,如方括号、单引号、百分号、下划线和脱字号等,在SQL语句中有特定的意义,若不正确处理,可能会导致SQL语法错误或注入攻击。本文将...

    ibatis sql语句对条件中特殊字符% # 处理

    ### ibatis SQL语句对条件中特殊字符% # 处理 在开发过程中,经常会遇到SQL查询时需要处理字符串中的特殊字符的情况。特别是在使用类似`LIKE`这样的操作符时,如果用户输入的数据中含有`%`、`_`或`#`等特殊字符,...

    xml编码和解密代码

    XML编码仅处理特殊字符,但不涉及安全性。如果需要加密XML内容,可以使用如AES(Advanced Encryption Standard)等加密算法。在C++中,可以使用开源库如Crypto++或Botan来实现。首先,你需要将XML字符串转换为字节...

    xml.rar_UTF XML_UTF-8编码_utf_utf-8_xml utf-8

    UTF-8的特性是它对ASCII字符集的兼容性,其中英文字符只用一个字节表示,其他语言和特殊字符则可能需要多个字节。这种编码方式使得XML文件在不同系统和语言环境中具有良好的兼容性。 XML文档的编码声明是至关重要的...

    java字符编码监听器

    在实际项目中,我们可能需要编写一些测试用例来验证字符编码过滤器的效果,比如包含特殊字符的表单提交,或者不同编码的URL请求等。 6. **最佳实践** - 为确保整个应用的一致性,建议在所有的HTTP响应中都明确指定...

    Android xml转义字符

    由于XML是一种标记语言,它对某些字符有特定的规定,如果直接将这些特殊字符写入XML文件,则可能会导致解析错误或出现非预期的结果。因此,在XML文件中使用特殊字符时,需要采用转义字符来替代。 #### 特殊字符与...

    Svg特殊字符

    在SVG文档中,特殊字符用于表示非ASCII码范围内的字符,如版权符号、引号、货币符号等。这些字符无法通过普通的键盘输入,但在HTML或SVG中,可以使用实体引用(entity reference)或数值引用(numeric character ...

    彻底根治Spring @ResponseBody JavaScript HTML特殊字符

    在开发Web应用时,我们经常会遇到一个问题:当使用Spring MVC的`@ResponseBody`注解将后端处理结果直接转化为HTTP响应体时,如果这个结果中包含HTML特殊字符,如尖角号、引号、按位与符号等,浏览器可能会误解析,...

    浅谈html特殊字符 编码css3 content:”我是特殊符号”

    项目中用到的一些特殊字符和图标 html代码 XML/HTML Code复制内容到剪贴板 <div u00a0class=cross></div>  css代码 CSS Code复制内容到剪贴板 .cross{  width: 20px;  height: 20px;  background-color:...

    HTML和XML中的转义字符

    除了以上提到的基本转义字符之外,HTML还支持广泛的特殊字符实体,如数学符号、希腊字母等,这些可以通过Unicode编码来引用。例如,`α` 表示希腊字母α。 #### 三、HTML转义字符使用要点 1. **转义字符必须...

    RDLC 特殊字符操作

    在处理RDLC报表时,有时我们需要对特殊字符进行操作,这通常涉及到数据格式化、文本转义以及字符编码等问题。以下是一些关于RDLC特殊字符操作的关键知识点: 1. **特殊字符转义**:在RDLC报表中,如果数据源包含...

    iOS特殊字符处理

    在处理特殊字符时,可以使用`stringByAddingPercentEncodingWithAllowedCharacters:`方法进行URL编码,防止特殊字符在URL中引起解析问题。例如,空格会被转换为"%20"。相反,如果需要解码,可以使用`...

    字符编码表新版.zip

    随着全球化的发展,单语种的编码系统已经无法满足需求,于是出现了如ISO 8859系列这样的扩展ASCII编码,能够支持更多欧洲语言的特殊字符。 然而,面对包含中文、日文、韩文等亚洲语言的字符,这些编码仍显不足,...

    tomcat字符编码总结

    - **注意事项**: 不同的编码方式之间转换可能会导致部分字符丢失或变形,尤其是当字符串中包含特殊字符或非标准字符时。 #### 六、结论 通过对Tomcat环境下字符编码问题的研究,我们可以得出以下几点结论: - ...

    ant打包时编码 GBK 的不可映射字符.txt

    2. **特殊字符**:某些特殊的中文字符在GBK编码下无法正确表示。GBK编码虽然兼容GB2312并扩展支持了更多的汉字,但并非所有汉字都能被正确表示。 #### 解决方案 要解决这一问题,只需在Ant的`build.xml`文件中对...

Global site tag (gtag.js) - Google Analytics