前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GuzzleHttp Client请求中文乱码的问题

GuzzleHttp Client请求中文乱码的问题

作者头像
Petrochor
发布2022-06-07 15:35:10
1.3K0
发布2022-06-07 15:35:10
举报
文章被收录于专栏:StephenStephen

客户端使用PHP,请求JAVA服务端,遇到中文编码问题,JAVA收到的参数中文乱码,以下是请求方法:

代码语言:javascript
复制
$options = ['pageNum' => $page, 'pageSize' => $pageSize, 'name' => $keyword];
$client = new Client([
    'timeout' => 60,
    'headers' => [
        'Content-Type'=>'application/x-www-form-urlencoded;charset=UTF-8',
        'enctype'=>'multipart/form-data',
        'X-Requested-With' => 'XMLHttpRequest',
    ],
]);
$response = $client->request('POST', env('DL_URL').$this->packages_url, [
    'form_params' => $options,
]);
$body = $response->getBody();
$result = $body->getContents();

header头部有指定UTF-8编码方式,文件也用UTF-8编码,JAVA端也同样使用UTF-8编码,那么JAVA端接收到的中文乱码是怎么回事呢? 以下是解决方法:

代码语言:javascript
复制
$options = ['pageNum' => $page, 'pageSize' => $pageSize, 'name' => $keyword];
$client = new Client([
    'timeout' => 60,
]);
$response = $client->request('POST', env('DL_URL').$this->packages_url, [
    'form_params' => $options,
    //将header头信息加到request方法里
    'headers' => [
        'Content-Type'=>'application/x-www-form-urlencoded;charset=UTF-8',
        'enctype'=>'multipart/form-data',
        'X-Requested-With' => 'XMLHttpRequest',
    ],
]);
$body = $response->getBody();
$result = $body->getContents();

最后,JAVA成功接受到中文,并成功响应。

GuzzleHttp中文文档:GuzzleHttp中文文档

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档