2012-01-04 28 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

相關問題