2011-09-16 22 views
0

我有一個奇怪的問題。良好的編碼到數據庫中,但在網頁上奇怪的字符

在我databe,我有這樣的數據:58×56 X 73#^ h公司所在地39.

但是,當我的地方顯示出來,我得到這個:

58 x 56 x 73 # H siè{00}ge 39 
        {8f} 

它仍然能夠移除特殊字符?

我想任何轉換梅索德,但沒有成功:(

+1

在你的數據庫使用哪種編碼?哪種編碼用於連接數據庫?輸出使用哪種編碼? – hakre

+0

UTF-8是默認編碼 – bahamut100

+0

+1有很多地方的編碼可能會搞砸。一定要檢查所有的步驟。 (@hakre甚至沒有提到HTML meta標籤中的字符集編碼) – Rijk

回答

1

嘗試要通過這篇文章對項目的列表... http://blog.loftdigital.com/blog/php-utf-8-cheatsheet
此列出,以確保你使用UTF所需的步驟-8由前向後在您的網站/應用程序,但在彙總:

  • 檢查你有PHP的mbstring擴展,你必須mb_internal_encoding('UTF-8');集腳本
  • 確保您在運行此MySQL查詢連接到你的數據庫mysql_query("SET NAMES 'utf8'");,它確保連接是UTF-8。
  • 設置你的輸出的HTTP頭... header('Content-type: text/html; charset=UTF-8');
  • 確保你的HTML頁面的輸出編碼設置... <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />