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 不维护它们的主要内容,如果未能解决你的问题,请参考以下文章