HT中特殊字符φ的显示问题

来源:互联网 发布:linux命令行修改ip 编辑:程序博客网 时间:2024/05/21 13:13

HT中特殊字符φ如下才能正常显示

<text mode="1" size="1" x="1" y="9">名称:</text><text mode="1" size="1" x="6" y="9"><s:property escape="false" escapeXml="true" value="中管φ5.0"/></text>

为什么要设置:escape="false" 和 escapeXml="true" ?

 

<s:property />默认情况下,escape(即,escapeHtml)为 true,其余的(escapeXml,escapeJavaScript,escapeCvs均为 false)

HTML 支持的特殊字符转实体(entity)或实体还原为特殊字符,非常多,φ就是其中之一

XML支持的特殊字符转实体,或实体转特殊字符只有(>、<、&、'、")对应的(&gt;、&lt;、&amp;、&apos;、&quot;)

 

如下示例说明

1、

<html><head></head><body>&phi;测试一&amp;下看看</body></html>


说明【&phi;】和【&amp;】都会在HTML解析时自动还原。

 

2、

<?xml version="1.0" encoding="gb2312" standalone="yes"?><tt>φ测试一&amp;下看看</tt>


说明【&amp;】都会在XML解析时自动还原。

 

3、

<?xml version="1.0" encoding="gb2312" standalone="yes"?><tt>&qui;测试一下看看</tt>


说明:【&qui;】无法被XML解析

 

而HT在解析的时候是按照XML的规则来解析的,因而为了特殊字符能正常显示就必须设置 escape="false" 和 escapeXml="true" !