mysql 显示回车但 nl2br 不维护它们

Posted

技术标签:

【中文标题】mysql 显示回车但 nl2br 不维护它们【英文标题】:mysql shows carriage returns but nl2br doesn't maintain them 【发布时间】:2012-07-20 19:57:34 【问题描述】:

我在 mysql 数据库中有文本字段,在 phpMyAdmin 中显示为具有换行符或回车符。但是,当在网页上显示该文本字段时,它们不存在。

我已经尝试过 nl2br()。我在 \n \r \r\n & \v 上尝试过 str_replace。一切都没有运气。

原始数据来自 Filemaker 数据库。我无法弄清楚回车的原因。

有什么想法吗?

更新 这是来自数据库字段的样本的直接复制和粘贴,但据我所知,它不会 100% 相同地转换到此评论字段。但这里是:

2010 Telecommunications - technical/internal brochure2004 Foodtown Catalogue and Banner2001 Alliance Group Holdings Annual Report2001 Cover of Company Profile2000 Clear Communications Mailout

在数据库的文本字段中,如下所示:

2010 Telecommunications - technical/internal brochure
2004 Foodtown Catalogue and Banner
2001 Alliance Group Holdings Annual Report
2001 Cover of Company Profile

【问题讨论】:

源代码是什么样的。你能发布一些数据/代码吗?? SELECT HEX(field_with_linebreaks) 返回什么? 我能说的最好的,字符的十六进制值是 0B。这似乎是 \v??? 你是用双引号还是单引号str_replace 0x0B 显然是一个垂直标签,不管这意味着什么;-) 你应该没问题 $text=str_replace(chr(0x0B), '', $text); - 问题是为什么有人以这种方式存储文本。 【参考方案1】:

使用

nl2br(htmlspecialchars($text));

【讨论】:

感谢您的回复,但抱歉没有这样做。

以上是关于mysql 显示回车但 nl2br 不维护它们的主要内容,如果未能解决你的问题,请参考以下文章

mysql显示汉字

JQuery Ajax Mysql 数据检索获得额外的回车并出现在 textarea

PHP/HTML 表单不更新 MySQL

Navicat链接MySQL显示1251

mysql常用命令

cmd中怎么进mysql