【发布时间】:2015-10-20 03:26:30
【问题描述】:
在 php 中发布包含特殊字符的数据时遇到问题:
字符串:? ' - \" `´& % ‰ € ® 2011
总是显示
字符串:? ' - " `´& % ‰ € ® 2011
我将表单属性更改为:
<form id="frmBlog"method="post" enctype="multipart/form-data">
我还用 meta 属性更改了 html:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
但结果还是一样。任何人都可以帮助解决这个问题。谢谢
我的简单代码:
<?php
if(isset($_POST['submit'])){
echo $_POST['content'];
exit;
}
$content = "String: ? < > ' - \" ´& % ‰ € ® 2011";
?>
<html lang="en">
<head>
<title>Test</title>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form method="post">
<textarea name="content" rows="20"><?=
$content
?></textarea>
<input type="submit" name="submit" value="submit" />
</form>
</body>
</html>
输出:
String: ? < > ' - " ´& % ‰ € ® 2011
【问题讨论】:
-
您是否检查过您的浏览器是否真的遵循字符集指令?
-
您是否也检查过源文件的编码?
-
您的 .php 源文件也必须使用 utf-8 编码保存。
-
源文件的编码应该没有区别。您看到的输出是您的浏览器/客户端尝试将 UTF-8 编码字符串解码为 ISO-8859-1(或其他单字节字符集)。
标签: php html summernote