我有一個CodeIgniter過濾掉包含帶重音字符的POST變量的問題。CodeIgniter POST變量
這裏是我的HTML頁面:
<!DOCTYPE html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head>
<body>
<form action="/test" method="post" accept-charset="utf-8">
<input type="text" name="name" value="" />
<input type="submit" name="submit" value="Submit" />
<form>
</body>
</html>
這裏是我的「/測試」的CodeIgniter控制器的索引功能:
public function index {
echo '<pre>';
print_r($_POST);
die();
}
......隨着名稱爲「我的名字」我進入得到這樣的:
Array
(
[name] => my name
[submit] => Submit
)
...但隨着輸入爲「我的名字」的名稱,變量被傳遞爲空:
Array
(
[name] =>
[submit] => Submit
)
如果我將相同的表單發佈到獨立的PHP腳本,它可以正常工作。我看不到任何明顯的配置導致這一點。誰能幫忙?
Di你檢查這個問題嗎?http://stackoverflow.com/questions/5784207/post-empty-on-utf-8-characters –
除此之外,根據:http://codeigniter.com/user_guide/libraries/input .html 「」「 安全篩選功能在調用新控制器時自動調用。它過濾POST/COOKIE數組鍵,僅允許字母數字(和其他幾個字符)。「」「」 - 那麼如何更改它? – Ade
好的......感謝鏈接@ Kobayakawa這個問題與運行PHP 5.3.MAMP的MAMP隔離,運行PHP 5.3.8的CentOS/Apache web服務器上沒有這樣的問題 將MAMP切換到PHP 5.2可以修復它(但不是很好,因爲我'在生產中運行5.3) – Ade