2013-07-09 4 views
0

На моем веб-сайте grails правильно отображаются символы UTF8, например символ «è», но не удается корректно отобразить их в метатегах; например, в мета-описании один и тот же charecter отображается как "è". Я прочитал строки из текстового файла, закодированного в UTF-8Кодирование Grails UTF8 в метатегах

В чем может быть проблема?

Grails версия 2.2.1

UPDATE

У меня такая же проблема, даже просто жестко прописывать строку в мета-описания. Файл GSP рассматривается как ISO-8859-2, но я не могу его преобразовать в UTF-8

+0

Я создал вопрос о Jira http://jira.grails.org/browse/GRAILS-10236 – alex

ответ

0

Вы пытались отключить предварительную обработку страниц gsp с помощью sitemesh?

В Config.groovy:

grails.views.gsp.sitemesh.preprocess = false 
+0

Пробовал сейчас, тот же результат – alex

0

Я установил его с TagLib

class SimpleTagLib { 

def unescaped = { attrs -> 
     out << attrs.value 
    } 

} 

<meta content="${g.noEncode(value:'è')}" property="og:video" /> 
+0

Не работает для меня. Я нашел этот вопрос http://stackoverflow.com/questions/15209240/attributes-in-meta-tags-in-grails-being-auto-escaped, и проблема заключается в том, что encodeAsHTML() всегда вызывается в метатегах. Я решил его удалить encodeAsHTML() в SitemeshTagLib и перестроить grails. Любая идея о том, почему ваше решение не работает в моем случае? Это было бы намного лучшее решение – alex

0

В случае, если кто имеет проблемы с этим, как я, я решил его создав taglib, который выводит весь метатег таким образом:

определение библиотеки тегов

def metaTag = { attrs -> 
    out << '<meta name="' + attrs.name + '" content="' + attrs.value + '"/>' 
} 

И я использую его затем в .gsp файл, например так:

<p:metaTag name="description" value="+ěšřčžáéíáý"></p:metaTag> 
Смежные вопросы