免费注册 查看新帖 |

Chinaunix

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

mojo json->encode以后中文就乱码了 [复制链接]

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-06-12 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-20 22:02 |只看该作者 |倒序浏览
  1. use 5.01;
  2. use utf8;
  3. use Mojolicious::Lite;
  4. use Mojo::JSON;
  5.  
  6. my $ua = Mojo::UserAgent->new;
  7.  
  8. my $url='http://www.google.cn/';

  9. my $tx = $ua->get( $url);
  10. my $data= $tx->res->body;
  11. my  $content=[        DISCUZ_CODE_0        ] if $data=~ /<p id="footer">.*?<\/a>/gs;
  12. say  $content;

  13. my $json = Mojo::JSON->new;

  14.    my $resp=$json->encode({content=> $content});

  15. say $resp;

  16. exit;
复制代码

论坛徽章:
0
2 [报告]
发表于 2013-09-21 20:06 |只看该作者
回复 1# yakczh_cu


    一般情况, Mojo::JSON 会生成utf-8的编码格式。你输出出现了乱码,要看看你输出的终端当前使用的是什么编码了

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-06-12 06:20:00
3 [报告]
发表于 2013-09-21 20:39 |只看该作者
回复 2# climby


    不是控制台的问题,在浏览里输出也是乱码 
比如下面的代码保存为utf8,然后用浏览器访问 http://localhost/test
  1. use 5.01;
  2. use utf8;
  3. use Mojolicious::Lite;
  4. use Mojo::JSON;

  5. get '/test' => sub {
  6. my $self=shift;
  7. my $content="中文";

  8. my $json = Mojo::JSON->new;
  9. $self->res->headers->header('Content-Type' => 'text/html;charset=utf8');
  10.        
  11.    my $resp=$json->encode({content=> $content});

  12. $self->render(text =>$resp);
  13. };
  14.    app->start;
  15. exit;
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP