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

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>

HT中特殊字符φ的显示问题_第1张图片
说明【&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>

HT中特殊字符φ的显示问题_第2张图片
说明:【&qui;】无法被XML解析

 

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

你可能感兴趣的:(HT中特殊字符φ的显示问题)