2012-01-04 69 views
0

好吧,我只需从mysql调用一些文本,然后通过nl2br运行它以保留换行符及其所有符号,而不是。nl2br()在一个页面上工作,但是完全相同的代码在另一个页面上不起作用

代码看起来像这样两个页面上 - <? echo nl2br($row[text]); ?>

现在一个页面上preseves换行符报价连字符,应有尽有。并在其他preseves换行符,但其中的符号像嘘声或引号instaed。

例如 - Jenny and Jonny “Big Wave†video

任何帮助将是巨大的

+2

这与'nl无关2房()'。 – 2012-01-04 02:31:12

+0

好吧,为什么它在一个页面上工作,而不是另一个,我会怎么做来解决这个问题? – 2012-01-04 02:32:52

+0

也许你可以检查那个页面的编码......我不知道,你给我们提供了太多的代码,我们不知所措,无法轻松找到问题。 – khael 2012-01-04 02:33:28

回答

1

我想你可能会击中HTML实体问题:

<? echo nl2br(htmlentities($row[text])); ?> 

这可能不会解决问题,你可能也有字符编码问题。请确保你的数据库字段中存储数据为UTF-8,然后添加以下行的mysql_select_db()行之后:

mysql_set_charset('utf8'); 

一旦这样做了,输出的文本应工作是这样的:

<? echo nl2br(htmlentities($row[text],ENT_COMPAT,'UTF-8')); ?> 

一个更简单的解决方案可能是确保数据库中的“有趣”引号被替换为“正常”引号 - “和”与“(你会用同样的单引号/撇号和em破折号/短横线/等复制从字)

+0

解决了它感谢您的帮助 – 2012-01-04 02:46:55

相关问题