【发布时间】:2012-01-26 20:28:58
【问题描述】:
我知道这一定是一个相对简单的问题,但谷歌让我失望了。假设我有以下简单的 PHP 文档(没有讨论安全性、SQL 注入、XSS 等。这只是一个简单的例子来说明我的编码问题):
<?php
if(!empty($_POST['message'])) {
file_put_contents($filename, $_POST['message']);
}
?>
<!DOCTYPE html>
<html>
<head><meta http-equiv="content-type" content="text/html;charset=utf-8"/></head>
<body>
<form method="post" action="?">
<textarea name="message">
<?php echo htmlentities(file_get_contents($filename))?>
</textarea>
<input type="submit"/>
</form>
</body>
</html>
现在,我在表单中输入 Σ 并提交。当页面重新加载时,textarea 会填充 Σ 而不是 Σ。
我理解为什么会这样(在一定程度上),但我不知道如何修复帖子以阻止它发生。有什么想法吗?
【问题讨论】:
-
您的数据库是否以 UTF-8 格式保存?
-
无数据库。文件。虽然我确信如果我保存到数据库也会发生同样的情况。