2015-01-04 25 views
0

我收到來自交表單數據和要處理的輸入做專賣店它在MySQL 的代碼行是:PHP5.3ヶ輛與ENT_HTML5拋出錯誤消息

$tekst = $_POST["tekst"]; 
$tekst = htmlentities($tekst, ENT_QUOTES, ENT_HTML5, "UTF-8"); 

當我運行此我得到錯誤消息: 警告:ヶ輛():字符集'ENT_HTML5' 不支持,承擔ISO-8859-1在savepage.php第14行的index.php ID = 1個& RET = 1 1

如何克服警告?

+1

'ENT_HTML5'引入5.4,如何克服警告..更新PHP – 2015-01-04 13:23:45

+0

什麼是PHP版本正在運行? – 2015-01-04 13:24:45

+0

@Begueradj看看標題,PHP5.3 – 2015-01-04 13:25:10

回答

1

你得到了那個錯誤,因爲你使用的標誌ENT_HTML5只出現在PHP5.4.0

正如你可以從官方documentation證實了這一點:

5.4.0常數ENT_SUBSTITUTE,ENT_DISALLOWED,ENT_HTML401,ENT_XML1,ENT_XHTML並添加ENT_HTML5

如果您的唯一目標是克服該錯誤,那麼您可以簡單地讓htmlentities()函數的標誌未設置。讓PHP默認處理它們。

我的意思是,改變這種:

$tekst = htmlentities($tekst, ENT_QUOTES, ENT_HTML5, "UTF-8"); 

要:

$tekst = htmlentities($tekst, "UTF-8"); 

的另一種選擇,就是設置與PHP5.3.0支持其他標誌,如替換它們:

  • ENT_COMPATDefa ULT。只編碼雙引號

  • ENT_IGNORE忽略無效編碼,而不是讓該函數返回空字符串。應該避免,因爲它可能有安全隱患。