php表单提交数据文字编码,提交表单,$_post[XX]获得的数据为乱码

出现问题后,我按网上的说法

在index.php(提交表单的页面)前面加了

在page-1.php(要获取的页面)

加了 header("Content-Type:text/html;charset=GB2312");

$key=$_POST['key']=iconv("UTF-8","gb2312",$_POST["key"]);

结果还是不行。我是菜鸟咯,随便发表意见,反正把问题解决就行!

回复讨论(解决方案)

你的数据是页面输入的还是文件输入的?

你的数据是页面输入的还是文件输入的?

提交表单呀,从而来输入的呀!

index.php 首行加上

header("Content-Type:text/html;charset=GB2312");

另外,把php文件也设置为gbk编码

index.php 首行加上

header("Content-Type:text/html;charset=GB2312");

另外,把php文件也设置为gbk编码

弱弱问下,header("Content-Type:text/html;charset=GB2312");

和这个"”

header() 函数向客户端发送原始的 HTTP 报头。

元素可提供有关页面的元信息

关于meta的介绍,我一下说不清楚,看下面的介绍吧

http://www.w3school.com.cn/tags/tag_meta.asp

在index.php(提交表单的页面)前面加了

如果这个 meta 生效的话,提交的表单就是 GB2312 编码的了

所以 在page-1.php(要获取的页面)

$key=$_POST['key']=iconv("UTF-8","gb2312",$_POST["key"]);

是错误的!

你这是把 GB2312 当做 UTF-8 处理,怎么能得到正确的结果呢?

header("Content-Type:text/html;charset=GB2312");

位于 http 协议头中,其优先级高于

在index.php(提交表单的页面)前面加了

如果这个 meta 生效的话,提交的表单就是 GB2312 编码的了

所以 在page-1.php(要获取的页面)

$key=$_POST['key']=iconv("UTF-8","gb2312",$_POST["key"]);

是错误的!

你这是把 GB2312 当做 UTF-8 处理,怎么能得到正确的结果呢?

header("Content-Type:text/html;charset=GB2312");

位于 http 协议头中,其优先级高于

既然index.php编码的方式为gb2312,就将page-1.php的编码前加上header("Content-Type:text/html;charset=GB2312");

可我这么一改,还是一样,对于这方面感觉太吃力了。

结果还是不行、还是一样....

什么叫“还是不行”、“还是一样”

到底是怎样的“不行”、怎样的“一样”

结果还是不行、还是一样....

什么叫“还是不行”、“还是一样”

到底是怎样的“不行”、怎样的“一样”

就是说$_post获得的变量数据仍旧是乱码(我单独输出了的)

版主,别介意呀,你可以随便说我的,但自己别生气咯,身体是自己的。本来计算机的,都是在花费着生命力。

贴出表单页 html 源代码

贴出表单页 html 源代码

编号

书名

语言

作者

剩余数量";

while($row = mysql_fetch_array($result))

{

echo "

";

echo "".$row['b_id']."";

echo "".$row['title']."";

echo "".$row['type']."";

echo "".$row['author']."";

echo "".$row['number']."";

}

?>

上面的是page-1.php。

下面是index.php

图书馆索引系统

用户名:

密码:

搜索

page-1.php 中在 header("Content-Type:text/html;charset=GB2312"); 下面加上

print_r($_POST);

贴出结果

page-1.php 中在 header("Content-Type:text/html;charset=GB2312"); 下面加上

print_r($_POST);

贴出结果

Array ( [use] => [pass] => [key] => ?????? )

如下图所示:

说下你的环境看看

另外,用什么浏览器测试的,其他浏览器测试什么情况。

说下你的环境看看

另外,用什么浏览器测试的,其他浏览器测试什么情况。

apache+php+mysql

用的ie 9 以及百度浏览器

header()前面不能有任何输出

header()前面不能有任何输出

说下你的环境看看

另外,用什么浏览器测试的,其他浏览器测试什么情况。

贴出表单页 html 源代码

麻烦大家了,昨天终于把这个问题解决了,编码方式我全部改成了"UTF-8",(因为mysql建表时,就是UTF-8).麻烦各位。我以后也定会注意每个页面的编码方式。

解决就好,知其然也要知其所以然,自己总结一下吧

其实每次传输过程都要考虑前后的编码问题,别忘了,编辑器打开php文件写代码也是一次传输过程,保存是另一次,按这样的思路,自己列出每一个传输过程再检查问题就变简单了,

统一编码就好,

用个好的编辑器也很重要,

推荐notepad++,想改编码,非常方便。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

相关文章

相关视频

网友评论

文明上网理性发言,请遵守 新闻评论服务协议我要评论

47d507a036d4dd65488c445c0974b649.png

立即提交

专题推荐064df72cb40df78e80e61b7041ee044f.png独孤九贱-php全栈开发教程

全栈 100W+

主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

7dafe36c040e31d783922649aefe0be1.png玉女心经-web前端开发教程

入门 50W+

主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

04246fdfe8958426b043c89ded0857f1.png天龙八部-实战开发教程

实战 80W+

主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

php中文网:公益在线php培训,帮助PHP学习者快速成长!

Copyright 2014-2020 https://www.php.cn/ All Rights Reserved | 苏ICP备2020058653号-1e6cebb680dfe320dad7e62bd6442c3a6.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值