輸入
-
在嘗試儲存或在任何地方使用它之前,你應該將每個收到的字串驗證為有效的 UTF-8。PHP 的
mb_check_encoding()
可以解決問題,但你必須始終如一地使用它。由於惡意客戶端可以以他們想要的任何編碼提交資料,因此無法解決這個問題。$string = $_REQUEST['user_comment']; if (!mb_check_encoding($string, 'UTF-8')) { // the string is not UTF-8, so re-encode it. $actualEncoding = mb_detect_encoding($string); $string = mb_convert_encoding($string, 'UTF-8', $actualEncoding); }
-
**如果你使用的是 HTML5,那麼你可以忽略最後一點。**你希望瀏覽器傳送給你的所有資料都是 UTF-8。唯一可行的方法是將
accept-charset
屬性新增到所有<form>
標籤中,如下所示:<form action="somepage.php" accept-charset="UTF-8">