元标记中的Grails UTF8编码

时间:2013-07-09 11:02:13

标签: grails character-encoding

我的Grails网站正确显示UTF8字符,例如字符“è”,但无法在元标记中正确显示;例如,在元描述中,相同的字符显示为"è"。 我从以UTF-8编码的文本文件中读取字符串

可能是什么问题?

Grails版本为2.2.1

更新

即使只是在元描述中对字符串进行硬编码,我也遇到了同样的问题。 GSP文件被视为ISO-8859-2编码,但我似乎无法将其转换为UTF-8

3 个答案:

答案 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>