2016-06-30 54 views
0

我有一個簡單的數據庫,我有旅行的旅行描述。在數據庫中,行程描述包括撇號和輸入/返回,它是類型:文本。如何從數據庫中回顯返回和撇號?

我想檢索並回應所有的旅行描述(有很多)到網站上,但是撇號,連字符和其他特殊字符變成了 而輸入/返回僅僅是'那裏。

例如,在數據庫中的以下文字:

我們將在新的佐治亞到達玩水,著名的馬羅佛礁湖 - 世界上最大的鹽水湖 - 七天。

我們將回到...

被顯示在網頁上爲

我們將在新的佐治亞到達玩水,著名的馬羅佛礁湖世界上最大的鹽水瀉湖 七天。我們將回到...

的「我們將回到......」是不是一個新的段落,以及撇號和兩個連字符是

這裏是我的PHP代碼:

$tripResult = mysql_query("SELECT * FROM trips"); 
while($row = mysql_fetch_array($tripResult)){ 
    echo $row['tripDescription']; 
} 

我試着

echo htmlspecialchars($row['tripDescription'], ENT_QUOTES); 

更換回聲線,但在這一切顯示任何文本。

編輯:我也曾嘗試檢查我有一個charset meta標籤,更改數據庫排序規則utf8mb4_general_ci(最接近的一個utf8mb4我可以在下拉列表中找到),並與替換回聲:

echo mysql_set_charset($row["tripDescription"]); 

但是,它仍然沒有顯示任何文字。我怎樣才能讓這個文字看起來很正常?

+1

的[UTF-8所有的通方式]可能的複製(http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) – FirstOne

+0

[nl2br](http://php.net/manual/en/function.nl2br.php) – FirstOne

+0

當我使用nl2br函數時,會在頁面上顯示'進入',這很好,但是你是指重複UTF-8一路通過?在phpmyadmin上,我看到'整理'下的表格是latin1_swedish_ci,這是默認的,所以我就這樣離開它。我嘗試將它改爲以utf-8開頭的那些,但這沒有什麼區別 – Cactus

回答

0

使用addslashes — Quote string with slashes插入您的數據並使用stripslashes獲取。

$tripResult = mysql_query("SELECT * FROM trips"); 
while($row = mysql_fetch_array($tripResult)){ 
    echo stripslashes($row['tripDescription']); 
} 

使用stripslashes — Un-quotes a quoted string

+0

如果數據庫中的文本沒有使用addslashes插入,是否可以「很好地」輸出它?即只是在明文? – Cactus

+0

閱讀上面,如果數據庫中的文本必須只是普通的英文怎麼辦? – Cactus