2011-05-13 12 views
2

我正在將註釋從數據庫中拉出來,然後讓這個show顯示出來......我該如何擺脫它?是因爲數據庫中有什麼或我如何顯示它,我試過使用htmlspecialchars,但不起作用。如何使用php刪除012使用php

請幫忙

+3

我猜你的數據庫提供了一個char.set,而你的html文件在另一個文件中DB和UTF-8中的ISO8859-1作爲頁面的編碼。你必須使用相同的編碼來讓它們全部通過你的數據庫使用你網站的編碼,而不是相反(客戶,即目標受衆,規則)。去UTF-8,你總是在安全的方面 - 除非你是中國人,那麼看看UTF-16或UTF-32 :-) UTF是現代的,所有其他編碼是「IT歷史的殘餘」。 – 2011-05-13 21:47:56

回答

1

問題在於字符編碼。如果角色在數據庫中顯示正常,但不在頁面上。您的頁面需要設置爲與數據庫相同的字符編碼。反之亦然,如果你的頁面發佈到數據庫字符編碼不匹配,那麼它出現怪異。

我通常將我的字符編碼設置爲任何類型的發佈字段(如評論/帖子)的UTF-8。大多數MySQL數據庫默認爲拉丁字符集。所以,你需要修改:<META http-equiv="Content-Type" content="text/html; charset=UTF-8">

或PHP:header('Content-type: text/html; charset=utf-8');(必須放在任何輸出之前。)

希望這得到http://yoonkit.blogspot.com/2006/03/mysql-charset-from-latin1-to-utf8.html

HTML部分可以用META標籤來完成球爲你滾動。

+0

你是個天才! – swenflea 2011-05-13 22:20:50

1

這可能是您在數據庫中存儲信息的方式問題。如果你使用的編碼不接受重音符號(à,ñ,î,ç...),那麼它使用奇怪的符號來存儲它們。與其他語言特定符號相同。數據庫中已存在的內容可能沒有解決方案,但仍可以通過更改mysql中的編碼類型來保存以下插入內容。

乾杯

+0

謝謝,隊友;)我使用[this](http://icon-generator.net/)應用程序製作了它。 – Korcholis 2011-05-13 21:57:42

1

發生這種情況時,你有一個字符,你的字體不知道如何顯示。它在每個程序中都有不同的表現,許多Windows程序將其顯示爲一個盒子,Firefox將其顯示爲鑽石中的問號,其他程序只是使用普通問號。 因此,您可以使用更新的顯示系統,安裝缺少的字體(如果是亞洲字符),或者查看是否是一個或兩個字符,然後將其替換爲可見的字符。

-1

檢查您的代碼是否有錯誤。這就是所有人都可以說的,因爲你已經給了我們絕對的細節,不知道你在做什麼。

編碼問題通常是什麼原因造成的(你是從整數轉換成字符?),所以,你通過檢查你是否正確地轉換東西來解決它。

0

確保您的數據庫UTF-8(如果它不能解決問題,請確保在連接到數據庫時指定您的字符集)。

您也可以在將數據輸入到數據庫之前進行編碼/解碼。

我建議去與htmlspecialchars()編碼和htmlspecialchars_decode()解碼。

0

正如其他人所說,檢查你的數據庫編碼是什麼。您可以嘗試使用utf8_encode()iconv()來轉換您的字符編碼。

0

你是否在mysql_connect()中將你的字符集傳遞給mysql_set_charset()?