我的Grails网站正确显示UTF8字符,例如字符“è”,但无法在元标记中正确显示;例如,在元描述中,相同的字符显示为"è"
。
我从以UTF-8编码的文本文件中读取字符串
可能是什么问题?
Grails版本为2.2.1
更新
即使只是在元描述中对字符串进行硬编码,我也遇到了同样的问题。 GSP文件被视为ISO-8859-2编码,但我似乎无法将其转换为UTF-8
答案 0 :(得分:0)
您是否尝试通过sitemesh禁用gsp页面的预处理?
在Config.groovy中:
grails.views.gsp.sitemesh.preprocess = false
答案 1 :(得分:0)
我用TagLib
修复了它class SimpleTagLib {
def unescaped = { attrs ->
out << attrs.value
}
}
<meta content="${g.noEncode(value:'è')}" property="og:video" />
答案 2 :(得分:0)
万一有人像我一样遇到麻烦,我已经通过创建一个以这种方式输出整个元标记的taglib来解决它:
Taglib定义
def metaTag = { attrs ->
out << '<meta name="' + attrs.name + '" content="' + attrs.value + '"/>'
}
然后我在像这样的.gsp文件中使用它:
<p:metaTag name="description" value="+ěšřčžáéíáý"></p:metaTag>