2010-07-27 33 views
0

當我顯示用戶提交的文本時,我總是收到這些奇怪的文本字符。如下面的例子。有沒有一種方法,我可以狐狸使用PHP,CSS或這樣的字符顯示正確嗎?網頁文本顯示問題

這是問題文本。

Problems of �real fonts� on the web. The one line summary: 
different browsers and different platforms do �hinting� 

這是我的元標記。

<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
+0

你發什麼?你應該在那裏指定內容類型,這可能會解決它。 – 2010-07-27 06:34:01

回答

2

這是一個編碼問題。確保您將正確的編碼發送到瀏覽器。如果是UTF-8,你會做這樣的:

header("Content-type: text/html; charset=utf-8"); 

此外,請確保您使用在整個系統中相同的編碼存儲內容。將您的數據庫表設置爲utf8。如果您使用的是MySQL,請在連接時運行SET NAMES utf8查詢以確保您使用的是UTF-8。

當您突然切換編碼時會出現這些奇怪的字符。

此外,PHP中的一些函數採用$charset參數(例如htmlentities())。確保你將正確的字符集傳遞給那個。

爲了確保PHP能夠正確處理您的字符集在所有情況下,您可以設置default_charsetutf-8(在php.ini或使用ini_set())。

+0

但我已經使用元標記'' – text 2010-07-27 06:37:51

+2

@text:這不一定就夠了。如果您的網絡服務器發送了正確的標題,那麼將優先於您的''標記。 PHP默認配置爲使用'iso-8859-1'發送它。 – 2010-07-27 06:40:11

0

將頁面設置爲UTF-8編碼。

0

請使用標題欄中的字符集檢查。

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
use this below one: 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

或試試這個:

htmlentities($str, ENT_QUOTES); 
0

可能是與文件的編碼問題,請檢查您的文件被正確編碼,保存爲「UTF-8無潮」,如果你還正在保存到數據庫使用SET NAMES UTF-8