我有一个场景,我需要删除特殊字符和拉丁字符。我能够删除拉丁文和少数特殊字符。但出于某种原因,™正在转换为TM。如何使用xslt删除它?这是我的代码和功能
' Array1 = [{
'Sk': 6,
'Qty': 50
},
{
'SK': 5,
'Qty': 20
},
{
'SK': 5,
'Qty': 20
}
Array2 = [{
'Sk': 6,
'Qty': 80
},
{
'SK': 5,
'Qty': 20
},
{
'SK': 5,
'Qty': 20
}
功能
<Last_Name xtt:fixedLength="30" xtt:required="true" xtt:severity="error" xtt:align="left"><xsl:value-of select="lancet:stripSpecialChars(replace(normalize-unicode(translate(wd:Last_Name, ',', ''), 'NFKD'), '⁄', '/'))"/></Last_Name>
我期待什么?
INPUT: DE'ERIKA
输出(现在使用我的代码) - &gt; DEATMERIKA
预期输出: DEAERIKA(我的代码正在消除拉丁字符和少数符号)
答案 0 :(得分:0)
您正在看到这些字符,因为您在某处使用了错误的代码页:输入XML被编码为UTF-8,但显示系统却采用ASCII。解决方案是执行转换或使显示应用程序使用UTF-8。
不要删除characters角色!如果用户输入例如一个带有重音(ï)的字母,在ASCII代码页中不存在,系统将呈现类似的东西。
具体来说,â是一个正确的单引号。所以用户输入是:
DE'ERIKA(这是许多语言中的有效名称)。
将此呈现为DEERIKA或(更糟)DEATMERIKA 不正确!
如果删除这些字符,则删除部分输入。这就像是建议将你的名字改为“Gop Nadu”,因为你的系统无法呈现'i'。