Получение \r\n новых строк для правильного отображения в базе данных Mantis
Я экспортировал проект Mantis с одного сервера на другой и, несмотря на файл MySQL SQL (из которого он был заполнен), показывал:
(15375,'\r\n1. Log out\r\n\r\n2. When logging in, start ...
Конечное представление конечного пользователя теряет \ r \ n и показывает его только в одной строке:
1. Log out 2. When logging in, start typing
При просмотре через phpMyAdmin я вижу запись правильно:
1. Log out
2. When logging in, start typing
Как я могу исправить это поведение при отображении этих данных?
2 ответа
Проблема была в том, что я неправильно импортировал данные из старой базы данных.
http://www.mantisbt.org/bugs/view.php?id=12683
atrol (разработчик) 2011-01-14 07:10
прочитайте файл doc/INSTALL глава UPGRADING, чтобы узнать, как выполнить обновление. Я совершенно уверен, что ваш шаг 1. является причиной вашей проблемы.
Вы очистили таблицу mantis_plugin_table, поэтому вы отключили плагин MantisCoreFormatting, который отвечает за форматирование вывода проблем HTML. (где также реализована обработка новых строк)
Далее вы очистили mantis_config_table. Это не проблема на данный момент, но будет проблемой в будущем для вас при обновлении. Существует один параметр для хранения версии схемы базы данных, которая используется при обновлении.
2011-01-14 22:01
Спасибо, Атрол! Это решило проблему точно. Я также восстановил / установил mantis_config_table в значение 1.2.4
ВСТАВИТЬ В
mantis_config_table
VALUES ('database_version',0,0,90,1,'183');
\r\n не отображается в HTML как новая строка, поэтому его необходимо заменить на <br />
(используя функцию php nl2br
) или текст должен быть разобран в абзацы (как это делает WordPress).
Я не знаком с Mantis, но, возможно, есть некоторые настройки, касающиеся вывода текста.
Если вы не можете найти место для внесения изменений в код / настройки Mantis, возможно, грязный хак будет просто заменить его прямо в файле SQL. Но в этом случае <br />
тег, вероятно, появится, когда вы будете редактировать текст позже.