让 \r\n 换行符在 Mantis 数据库中正确显示

让 \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

显示这些数据时如何纠正此行为?

答案1

\r\n 在 HTML 中不会显示为新行,因此必须将其替换为<br />(使用 php 函数nl2br)或必须将文本解析为段落(就像 wordpress 所做的那样)。

我不熟悉 Mantis,但也许有一些关于文本输出的设置。

如果您无法在 Mantis 代码/设置中找到进行更改的位置,那么也许一个肮脏的黑客行为就是直接在 SQL 文件中替换它。但在这种情况下,<br />当您稍后编辑文本时,标签可能会显示出来。

答案2

该问题是由于我错误地从旧数据库导入数据造成的。

http://www.mantisbt.org/bugs/view.php?id=12683

atrol (开发者) 2011-01-14 07:10

阅读文件 doc/INSTALL 章节 UPGRADING 以了解推荐的升级方法。我确信您的步骤 1. 是导致问题的原因。

您清除了表 mantis_plugin_table,因此您禁用了负责格式化问题的 HTML 输出的 MantisCoreFormatting 插件。(其中还实现了换行符的处理)

此外,您还清除了 mantis_config_table。目前这不是问题,但将来升级时会成为问题。有一个设置用于保存升级时使用的数据库架构版本。


2011-01-14 22:01

谢谢 atrol!这确实解决了问题。我还恢复/设置了 mantis_config_table 为 1.2.4 值

插入mantis_config_table 值('database_version',0,0,90,1,'183');

相关内容