免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9097 | 回复: 12
打印 上一主题 下一主题

求用WWW::Mechanize模块提交表单,字段为中文提交后乱码的解决办法? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-04 11:31 |只看该作者 |倒序浏览
use utf8;
use WWW::Mechanize;
use Encode;

$url="http://bbs.sh.libaclub.com/message.php?action=write";

$mech=WWW::Mechanize->new();

$mech->agent_alias('Windows IE 6');
$mech->add_header(Referer=>'http://xxx/message.php');
$mech->add_header(Accept-Charset=>'ISO-8859-1,utf-8;q=0.7,*;q=0.7');
$mech->add_header(Accept-Language=>'en-us,en;q=0.5');
$mech->add_header(Cookie=>'sxxxxxxx7516; __utmc=87665927; __utmz=87665927.1283527516.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); mytopictabs=0; PHPSESSID=0d0cf34ebcdeec3936cd1831ca68b6ca');
$mech->get($url);
$mech->form_name("form1");
$mech->field("receiverName","xxx");
my $subject="测试";                                    
$subject=encode('gbk',$subject);
$mech->field("topic",$subject);
my $content="明月几时有,把酒问清天,不知天上宫阙,今夕是何年!";
$content=encode('gbk',$content);
$mech->field("content",$content);
$mech->submit();


网页编码为gbk,我在提交之前也转为gbk编码了,但是提交后,subject标题字段和content内容字段都显示为乱码,在cpan上查了也没看到相应的解决办法,只好来这里求救兵了,有知道的请出手,谢谢了!

论坛徽章:
0
2 [报告]
发表于 2010-09-04 11:35 |只看该作者
在线求解了。

论坛徽章:
0
3 [报告]
发表于 2010-09-04 12:09 |只看该作者
我顶。

论坛徽章:
0
4 [报告]
发表于 2010-09-04 20:52 |只看该作者
郁闷。

论坛徽章:
0
5 [报告]
发表于 2010-09-04 20:58 |只看该作者
回复 4# sx98083714


   没有环境尝试,不好帮你调试,出现乱码后,你可以在浏览器里切换各种encode查看网页,看看乱码在那种encode下显示正常,然后才好对症下药

论坛徽章:
0
6 [报告]
发表于 2010-09-04 21:11 |只看该作者
谢谢楼上兄弟提醒,这是个解决的思路,我来试试看下。

论坛徽章:
0
7 [报告]
发表于 2010-09-04 21:14 |只看该作者
不行,各种编码都换了,都不能正常显示。

论坛徽章:
0
8 [报告]
发表于 2010-09-04 21:25 |只看该作者
回复 7# sx98083714


    这种情况一般是因为默认已经encode了,你又重新encode一次,所以各种encode都无法显示.你先去掉你代码中的encode,然后页面上尝试.

论坛徽章:
0
9 [报告]
发表于 2010-09-04 21:38 |只看该作者
谢谢climby!

我之前是没有执行encode,结果显示乱码,所以后来才加上encode的,结果也一样。

论坛徽章:
0
10 [报告]
发表于 2010-09-05 10:58 |只看该作者
climby你好!

前面你让我在网页里切换编码看能否正常显示,我切换后都没有正常显示,后来我将

$content=encode("gbk",$content);

去掉提交后,在网页里将编码切为UTF8就可以正常显示了。而加上

$content=encode("gbk",$content);

提交后,改为什么源码都不能正常显示了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP