2013-08-05 39 views
3

從數據庫中提取數據後,我想使用htmlentities將它放在頁面上。 但問題是,當我回顯出來在輸出顯示奇怪的字符 - 正方形和其他奇怪的跡象。我已經檢查過,因爲我用希伯來語迴應。任何建議如何解決這個問題?來自數據庫的數據與htmlentities呼應給出奇怪的標誌在希伯來文

$query = "SELECT * FROM `house_data` WHERE 1 ORDER BY `timestamp` DESC"; 
     while(($row = mysql_fetch_assoc($run_query))){ 
     $types[] = $row; 
} 
foreach($types as $data){ 
    echo htmlentities($data['city']); 
} 
+1

你嘗試指定一個字符集,看看是否能工程:http://php.net/manual/en/function.htmlentities.php? – Maximus2012

+2

從PHP手冊頁:與htmlspecialchars()一樣,htmlentities()採用可選的第三個參數編碼,該編碼定義了轉換中使用的編碼。如果省略,則此參數的缺省值是5.4.0之前的PHP版本中的ISO-8859-1,而PHP 5.4.0及之後的版本是UTF-8。雖然這個論點在技術上是可選的,但是我們強烈建議你爲你的代碼指定正確的值。 – Maximus2012

+0

除了上面其他人的說法,你的頁面是否有一個'charset' meta標籤? – Nadh

回答

1

爲Maximus2012說,問題是在第三個參數是編碼非常重要的注意:在頁面的beggining編碼未對這種案件追加。所以只需添加編碼,它就像一個魅力:

echo htmlentities($data, ENT_QUOTES , "UTF-8");