• 【转】XML 特殊字符处理


    from: http://gdutlzh.blog.163.com/blog/static/164746951201222934328455/ 

    1.

    在XML文件中,如果内容包含一些特殊字符会导致XML文件无法解释。

      (1). 可以对特殊字符直接进行转义

    以下5个字符为需要进行转义的字符

     字符  转义后 编码 
     & & &#38 
     ' '  &#39 
     " "  &#34 
     > >  &#62 
     < &lt;  &#60 

    (2). 将内容放至CDATA中

    CDATA 以"<![CDATA[" 标记开始,以"]]>"标记结束

    ==============================================

    以上两种方法可以解决大部分的问题,网上资料还提到另外一类特殊字符,将相关的文章转载一下

    转载自:http://www.jzxue.com/Html/XML/122115365011021.html

    XML文档中,一些特殊ASCII字符,显示会有问题,如音乐符号,即使包含在< ! [CDATA[ ] ]中也不行,提示javascript错误:文本内容中发现无效字符。 
    注:本文中的特殊字符主要是指音乐符号等ASCII码小于32的其中一些字符 


    2.参考文档 
    1)网址:http://www.pcdog.com/p/html/20041215/151220044979_1.htm 
    这篇文章与本文要解决的特殊字符不是一类问题,仅供参考 


    3.最终解决方案 
    1)在网上找到一张ASCII字符表,这个表是解决问题的关键,地址如下: 
    http://www.51ajax.com/demo/ascii/ascii.htm 
    ASCII 码大致可以分作三部分组成。  

    第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上,但能看到其效果(例如换行字符、归位字符)。 
    第二部分是由 20H 到 7FH 共 96 个,这 95 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等符号,都可以显示在屏幕上。 
    第三部分由 80H 到 0FFH 共 128 个字符,一般称为『扩充字符』,这 128 个扩充字符是由 IBM 制定的,并非标准的 ASCII 码。这些字符是用来表示框线、音标和其它欧洲非英语系的字母。 


    2)具体方法 
    从第一部分的表中可以看到音乐符号的ASCII是14(十进制),产生问题的原因在于ASCII码小于32的符号有些在屏幕上显示时会有问题,解决的方法如下: 
    在提交入库前用Javascript将ASCII码小于32的字符用escape()函数编码,然后入库,如编码后将变为%0E,其它字符不变,这样在XML中显示不会出现问题,当用Javascript对XML进行解析时,再用unescape()函数对内容进行解码,这样会将%0E显示为。 
    我写了一个Javascript函数(只适用于少量数据),可以实现对ASCII码在32以下的字符进行编码。

  • 相关阅读:
    ORA-**,oracle 12c操作问题
    [MySQL] specified key was too long max key length is 767bytes
    ActiveMQ objecmessage 无法调用问题。
    关于IPMI的几个问题
    Linux平台上SQLite数据库教程(一)——终端使用篇
    0ra-12170 tns 连接超时
    iBatis应用--控制执行SQL时的超时时间
    深入理解JDBC的超时设置
    oracle关键字作为字段名使用方法
    Java中使用OpenSSL生成的RSA公私钥进行数据加解密
  • 原文地址:https://www.cnblogs.com/SummerRain/p/3551015.html
Copyright © 2020-2023  润新知