Grails中带有消息功能的希腊字符

Posted

技术标签:

【中文标题】Grails中带有消息功能的希腊字符【英文标题】:Greek characters in Grails with message function 【发布时间】:2012-03-17 01:59:46 【问题描述】:

我正在尝试通过 grails 使用国际化

在浏览器上一切正常,希腊字符显示正常,但是当我打开浏览器的页面源检查生成的html代码时,希腊字符显示如下:

<meta name="keywords" content="&Epsilon;&nu;&omicron;&iota;&kappa;&iota;&alpha;&zeta;ό&mu;&epsilon;&nu;&alpha; &delta;&omega;&mu;ά&tau;&iota;&alpha;"/>

只有当我使用消息 function 时才会出现上述问题,即

content="$message(code:'keywords' )"

当我使用标签消息时,

<pre>
 <g:message code="test" />
</pre>

希腊字符在浏览器的源代码中正确显示。

有什么帮助吗?我找到了这个页面: http://htmlhelp.com/reference/html40/entities/symbols.html 用于希腊符号和 html 实体

我想 Google 的蜘蛛不会对希腊版网站感到满意

【问题讨论】:

【参考方案1】:

这可能是您的Config.groovygrails.views.default.codec 的设置。如果是html,那么Groovy 块$ 中的所有内容都将使用HTML 实体进行编码,但&lt;g:message/&gt; 标记不会,因为它不应用encodeAsHTML() 调用。

您可以使用 in page settings 覆盖此设置,以便您的 gsps 中需要转义的部分仍被编码。

【讨论】:

以上是关于Grails中带有消息功能的希腊字符的主要内容,如果未能解决你的问题,请参考以下文章

grails 2.4.0 中带有 hibernate:3.6.10.15 插件的错误

我可以在返回消息条目字符串和参数之前获取 Grails 消息字符串吗?

Grails:如何从控制器逻辑返回错误消息(即不是源自域属性验证)?

如何使用域类字符串名称访问用户定义的 Grails 项目包名称

自定义错误消息的 Grails 问题

使用 Groovy(Grails) 写入文件对于某些行(断行)失败