【发布时间】:2013-11-26 05:06:43
【问题描述】:
我在 iso-8859-1 中有一个页面
<meta http-equiv=content-type content="text/html; charset=iso-8859-1">
页面中有两个表单,一个表单提交到同一个页面,另一个提交到不同的页面
<form method='post' action='post.php'>
</form>
我插入以不同语言添加的 cmets 到 post.php 页面并插入它。 在萤火虫中,当我看到它说的字符集时
application/x-www-form-urlencoded; charset=UTF-8
这会造成问题,因为由于编码不同而正确保存了发布的数据
有没有办法将表单的编码更改为 iso-8859-1,这对我有用,我已经尝试在同一页面中插入相同的 cmets,它适用于 iso-8859-1编码
【问题讨论】:
-
如果页面编码被声明为iso-8859-1并且表单没有
accept-charset属性,那么表单提交将使用windows-1252(这就是iso-8859-1真正映射到网络上)。所以如果表单编码实际上是utf-8,那么前提不成立。我们真的需要查看页面的 HTTP 标头来确定其声明的编码。 -
请尝试通过构建一个只有一种形式的演示页面来澄清问题(除非需要两种形式来重现问题)并发布其 URL 和/或页面内容以及 HTTP 响应标头.
-
复制问题需要两个表单,发布到外部页面的表单使用字符集 UTF-8,但我希望它是 iso-8859-1,如果我发布到同一页面并且检查同一页面中字体的编码值是否正确。
标签: php html character-encoding