0
我有$ user數組包含特殊字符的數據。看起來像$ user的每個元素都包含特殊字符後,它們存儲在會話中後無法正確呈現。如何管理存儲在數組中的HTML特殊字符
這裏是我的代碼:
<?php
session_start();
include_once('../application/classes/DataLayer.class.php');
$dl = new DataLayer();
$user = $dl->doLogin($_POST['email_sub'], $_POST['password_sub']);
if(isset($user)) {
foreach($user as $detail_array => $detail){
$fn = html_entity_decode($user['fn']);
$ln = html_entity_decode($user['ln']);
}
var_dump($fn, $ln); // $fn and $ln display well here
$_SESSION['user'] = $user;
$_SESSION['fn'] = $fn;
$_SESSION['ln'] = $ln;
var_dump($_SESSION['fn'], $_SESSION['ln']); // $_SESSION['fn'], $_SESSION['ln'] display well here too
}
else {
//do something here
}
?>
任何幫助,將不勝感激。對不起,我的英語不好。
感謝您的快速回答,功能運作良好。使用var_dump()函數我得到了:&Atilde; ©&Atilde; gl30。唯一的問題是,html_entity_decode(&Atilde; ©&Atilde; ¢ gl)會給我這個字符串「éâgl」,但最終會給我「ââÂ」gl「。我錯過了什麼。 (我正在使用meta ) – Lomse
嘗試設置相同的字符集「iso-8859-1」 html實體解碼函數...它的第三個參數...該函數的默認字符集是UTF-8。在這裏閱讀更多關於這個功能http://php.net/manual/en/function.html-entity-decode.php。 – Tudor
工作很好。謝謝 – Lomse