кодировка gsp больше не работает в grails 4.0.11?

#grails #character-encoding #grails-4

Вопрос:

После обновления существующего приложения с grails 4.0.3 до 4.0.11 (не выполнял промежуточных обновлений, поэтому проблема может быть где-то там) мои gsp, содержащие необработанный HTML, теперь закодированы (это означает, что они отображают текст, подобный <p>Hello</p> ). У кого-нибудь еще есть эта проблема? Было ли изменение кодировки, которое пропустило документацию (или которое я пропустил)?

У меня есть свои кодировки, установленные на:

 grails {
    // other stuff removed for clarity here

    converters.encoding = "UTF-8"

    views {
      "default" {
        codec = "none"
      }
      gsp {
        encoding = "UTF-8"
        htmlcodec = "xml"
        codecs {
          expression = "none"
          scriptlets = "none"
          taglib = "none"
          staticparts = "none"
        }
      }
    }
}
 

Другая информация, которая может помочь:

  • Это происходит только при запуске в виде jar; с run-app кодировкой соблюдается как обычно

Комментарии:

1. Не могли бы вы привести пример PoC, общедоступного проекта, пожалуйста?

2. «Это происходит только при запуске в виде jar; при запуске кодировка приложения соблюдается как обычно» — Если вы подадите сообщение о проблеме по адресу github.com/grails/grails-gsp/issues и ссылка на образец проекта, который мы будем рады рассмотреть. Спасибо за отзыв!

3. «Было ли изменение кодировки, которое пропустило документацию (или которое я пропустил)?» — Я думаю, что ответ «нет», но даже если бы оно было, все равно существует проблема, потому run-app что ведет себя иначе, чем .jar .

4. Спасибо всем. Я сужаю круг вопросов и либо подам жалобу, либо публично признаю свою собственную глупую ошибку… скоро мы увидим, в какую сторону это пойдет!

Ответ №1:

Ошибка подачи граалей, чтобы сообщить об этом; минимальный воспроизводимый пример доступен здесь: https://github.com/danduke/encoding-test

Отчет о проблеме здесь: https://github.com/grails/grails-core/issues/12019

Комментарии:

1. Изменить: После прочтения описаний проблем, связанных ниже, это не было исправлено, но было предусмотрено обходное решение из-за проблемы, возникшей в результате изменений в springboot. Возможно, аналогичное решение для загрузчика классов? Эта проблема (хотя и не связанная с кодированием) была исправлена в grails 4.0.4 и устраняла различия в поведении между run-app war версиями приложения и версиями. Возможно, это непреднамеренно вызвало проблему с кодированием, описанную здесь, или, по крайней мере, могло быть использовано разработчиками для отслеживания проблемы . github.com/grails/grails-core/issues/11545

2. Чем больше я читаю о проблеме, на которую я ссылался выше, тем меньше я уверен, что это вообще связано, оставляя комментарий на всякий случай.