Grails: замена символов на HTML-эквивалент - PullRequest
1 голос
/ 28 декабря 2011

Я читаю файл CSV, и в одном из столбцов есть текст, который содержит символы, которые не распознаются.После того, как я прочитал файл, такие символы, как «становится».Я также сохраняю это в БД.

Очевидно, что когда я показываю это на веб-странице, это показывает мусор.Как я могу заменить HTML-код (например, ´;) для этого Grails?

Я читаю CSV с помощью плагина csv.Код ниже:

def f = "clientDocs/testfile.csv"
def fReader = new File(f).toCsvMapReader([batchSize:50, charset:'UTF-8'])
fReader.each { batchList ->
batchList.each {
    def description = substituteSymbols(it.Description)


def substituteSymbols(inText) {
    // HOW TO SUBSTITUTE HERE
}

Спасибо за любую помощь или предложения.Я уже пробовал string.replaceAll (regExp).

1 Ответ

4 голосов
/ 28 декабря 2011

Grails поставляется с базовым набором кодеров / декодеров для общих задач.

То, что вы хотите здесь, это it.Description.encodeAsHTML().

И затем, если вы хотите, чтобы оригинал отображался на виде, просто измените его на .decodeHTML()

Подробнее об этом можно прочитать здесь: http://grails.org/doc/latest/guide/single.html#codecs

(отредактированная опечатка имени метода декодирования согласно комментарию)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...