php post请求返回乱码问题,php post请求乱码的问题

PHP 乱码

使用最土模板里的post请求源码如下

static public function DoPost($url,$post_data=array()){$url2 = parse_url($url);$url2["path"] = ($url2["path"] == "" ? "/" : $url2["path"]);$url2["port"] = ($url2["port"] == "" ? 80 : $url2["port"]);$host_ip = @gethostbyname($url2["host"]);$fsock_timeout = 2; //2 secondif(($fsock = fsockopen($host_ip, $url2['port'], $errno, $errstr, $fsock_timeout)) < 0){return false;}$request = $url2["path"].($url2["query"] ? "?" . $url2["query"] : "");$post_data2 = http_build_query($post_data);$post_data2=urldecode($post_data2);$in = "POST " . $request . " HTTP/1.0rn";$in .= "Accept: */*rn";$in .= "Host: " . $url2["host"] . "rn";$in .= "User-Agent: Lowell-Agentrn";$in .= "Content-type: application/x-www-form-urlencodedrn";$in .= "Content-Length: " . strlen($post_data2) . "rn";$in .= "Connection: Closernrn";$in .= $post_data2 . "rnrn";unset($post_data2);if(!@fwrite($fsock, $in, strlen($in))){fclose($fsock);return false;}return self::GetHttpContent($fsock);}static private function GetHttpContent($fsock=null) {$out = null;while($buff = @fgets($fsock, 2048)){$out .= $buff;}fclose($fsock);$pos = strpos($out, "rnrn");$head = substr($out, 0, $pos); //http head$status = substr($head, 0, strpos($head, "rn")); //http status line$body = substr($out, $pos + 4, strlen($out) - ($pos + 4));//page bodyif(preg_match("/^HTTP/d.ds([d]+)s.*$/", $status, $matches)){if(intval($matches[1]) / 100 == 2){return $body; }else{return false;}}else{return false;}}

实现的是http短信发送 因为运营商没有urldecode 我这里只能想到参数原文字请求 发送到手机的短信是乱码的本人接触php也不久 想请教下各位 有没有什么办法 能解决乱码问题。

可不可以通过其他方式请求http。

回复讨论(解决方案)

乱码可能导致原因是两边编码不一致,比如运营商那里是GBK编码,你页面用了UTF8编码,你把你的页面和运营商的保持一致试试。

乱码可能导致原因是两边编码不一致,比如运营商那里是GBK编码,你页面用了UTF8编码,你把你的页面和运营商的保持一致试试。

试过了还是乱码。

来人啊

先问清楚接受方的编码需求 然后根据需要编码.

先问清楚接受方的编码需求 然后根据需要编码.

他们说编码是GB2312 我把页面的charset设置gb2312了 发送结果还是乱码。

先问清楚接受方的编码需求 然后根据需要编码.

他们说编码是GB2312 我把页面的charset设置gb2312了 发送结果还是乱码。

发送的字符做一个iconv

光顾着看你的头像了,脑子空空的

关键是你发送过去的数据是gbk,不是改charset就行的

光顾着看你的头像了,脑子空空的

关键是你发送过去的数据是gbk,不是改charset就行的

哈哈 要专注啊

上面的代码该怎么处理能处理成gbk呢

跟上面的代码无关,传参前就要转换

跟上面的代码无关,传参前就要转换

多谢大侠指点。 成功了。

好牛B的麻花

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Google的AppEngine上升级到Java 7

如果您仍在Google AppEngine上运行Java 6应用程序&#xff0c;则将遇到严重的麻烦。 现在&#xff0c;AppEngine团队将随时发布1.8.9版&#xff0c;该版本将不再支持Java 6应用程序的部署。 现有的应用程序将继续运行。 但是您可能应该以必要的紧迫性升级应用程序&#xff0c;…

012python路--迭代器

生成器属于迭代器迭代器包括[字符&#xff0c;列表&#xff0c;元组&#xff0c;字典] a [1,2,3,]d iter(a) print(d) # <list_iterator object>print(next(d))d--迭代器Iterator a--迭代器对象Iterable 迭代器条件&#xff1a;1.有iter方法2.有next方法 for内部三件事…

socket read time out解决方法_time_after方法对jiffies回绕问题的解决

前言&#xff1a; 最近在啃《 Linux内核设计与实现》&#xff0c;看到第四章CFS时候&#xff0c;读了几遍没太理清这一小节到思路&#xff0c;看到40页这么一句话&#xff1a;“如果这里所讨论的定时器节拍对你来说很陌生&#xff0c;快先去看看第十一章再说。因为这点正是引入…

ASP.NET Core Razor Pages

Razor 页面是Asp.Net Core2.0新增的一个功能。Razor 页面是 ASP.NET Core MVC 的一个新特性&#xff0c;它可以使基于页面的编码方式更简单高效。 环境&#xff1a;vs2017 .net core2.2 Razor 页面项目搭建 目录说明 wwwroot&#xff1a;放置网站的静态文件的目录。例如/wwwroo…

curd操作php代码,Laravel 5.6中的CURD操作(代码示例详解)

在本篇文章中&#xff0c;我将给大家分享laravel 5.6版本中的基本crud(创建&#xff0c;读取&#xff0c;更新和删除)应用程序模块。你可以按照下面的步骤在laravel 5.6中创建CRUD应用程序。Laravel是一个流行的开源PHP MVC框架&#xff0c;具有许多高级开发功能。如果你是lara…

为什么c++的开源库那么少?

为什么c的开源库那么少&#xff1f; 在开始前我有一些资料&#xff0c;是我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心整理了一份「 C的资料从专业入门到高级教程工具包」&#xff0c;点个关注&#xff0c;全部无偿共享给大家&#xff01;&#xff01;…

页面静态化+过期时间

代码&#xff1a; <?phpHeader("content-type:text/html;charsetUTF-8");$gid $_GET[news_id]0;//商品id$goods_statis_file "goods_file_".$gid.".html";//对应静态页文件$expr 10;//静态文件有效期&#xff0c;秒if(file_exists($goods…

实施动态代理-比较

有时需要拦截某些方法调用&#xff0c;以便每次调用被拦截方法时都执行自己的逻辑。 如果您不属于Java EE的CDI领域&#xff0c;并且不想使用诸如Aspectj之类的AOP框架&#xff0c;那么您将有一个简单而有效的替代方法。 从1.5版开始&#xff0c;JDK附带了类java.lang.reflect…

结构专业规范大全_1.2万篇 建筑行业规范大全套!速来!

应广大站友以及会员用户对建筑规范的要求&#xff0c;我们整理了近几年来国家发布的各个专业的标准、规范、图集&#xff0c;以及全国各地共32个地区的区域标准&#xff0c;总计12000余篇&#xff0c;共计80G的建筑行业规范&#xff01;BIMer自学站将会在一到两个月的之间内相继…

数据库如何进行索引优化

数据库索引 1&#xff0e;什么是索引 在数据库中&#xff0c;索引的含义与日常意义上的“索引”一词并无多大区别&#xff08;想想小时候查字典&#xff09;&#xff0c;它是用于提高数据库表数据访问速度的数据库对象。A&#xff09;索引可以避免全表扫描。多数查询可以仅扫描…

php7如何安装swoole,PHP7如何安装Swoole?

PHP7如何安装Swoole&#xff1f;发布时间&#xff1a;2020-05-19 16:35:02来源&#xff1a;亿速云阅读&#xff1a;135作者&#xff1a;Leah这篇文章给大家分享的是PHP7安装Swoole的详细安装教程&#xff0c;相信大部分人都还不知道怎么安装&#xff0c;为了让大家学会&#xf…

第二章总结

第二章 寄存器 1.CPU概述 一个典型的CPU由运算器、控制器、寄存器等器件组成。 内部总线实现CPU内部各个器件之间的联系。 外部总线实现CPU和主板上其它器件的联系。 2.通用寄存器 8086CPU中&#xff0c;寄存器AX, BX, CX, DX通常用于存放一般性数据&#xff0c;称为通用寄存器…

赞!15个来自 CodePen 的酷炫 CSS 动画效果

CodePen 是一个在线的前端代码编辑和展示网站&#xff0c;能够编写代码并即时预览效果。你在上面可以在线分享自己的 Web 作品&#xff0c;也可以欣赏到世界各地的优秀开发者在网页中实现的各种令人惊奇的效果。 今天这篇文章为大家挑选了15个超炫的 CSS 动画效果的例子&#x…

Java 8 Friday Goodies:新的新I / O API

在Data Geekery &#xff0c;我们喜欢Java。 而且&#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL &#xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 &#xff0c;现在我们觉得是时候开始一个新的博客系列了…

ashly理器4.8软件汉化版_AMD 处理器核心比英特尔多还更便宜?英特尔回应

IT之家 9 月 25 日消息 英特尔已在本月初发布了 11 代酷睿移动处理器&#xff0c;搭载 11 代酷睿的产品最早将在 10 月上市。现在&#xff0c;新浪科技访了英特尔公司中国零售销售集团总经理唐炯&#xff0c;就 11 代酷睿产品进行讨论。在谈到 AMD 处理器比英特尔便宜&#xff…

JAVA比较两个List集合的方法

import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set;public class FindNumber { public static void main(String[] args) { // 注意&#xff1a;一定要使用创建对象…

js 解析php serialize,php如何解析jquery serialize 提交后的数据

客户端通过jquery serialize 提交表单数据$("#submit_survey").click(function(){ $.post(SITE_URLactivity/survey/savesurvey, {data:$(#survey_form).serialize()}, function(response){ if (response.error_code) { infotips(response.msg, $(.submit_tips)); } …

OutOfMemoryError:解决方案反模式

这些年来&#xff0c;我们一直密切关注以OutOfMemoryError消息的不同形式打包的问题。 通过专门的服务&#xff08;例如Google警报&#xff09;&#xff0c;每天就特定关键字的新问题进行摘要&#xff0c;使我们对应用程序因日志中的java.lang.OutOfMemoryError失败而出现的情况…

python在线问卷调查系统源代码_基于Python 练习1情况的在线问卷

Q1. 您每个月的生活费是&#xff1f;(单选题)Q2. 您在职的职位是&#xff1a;(单选题)Q3. 您的家庭背景&#xff1f;(单选题)Q4. 下列哪一个是Python中正确的变量名&#xff1f;()(单选题)A Sprout*1B 1SproutC Sprout 1D Sprout_1Q5. Turtle 中的 Write 命令是用来做什么的 ()…

leetcood学习笔记-58-最后一个单词的长度

题目描述&#xff1a; 第一次解答&#xff1a; class Solution:def lengthOfLastWord(self, s: str) -> int:Ls.strip().split(" ")if L[-1]"" :return 0return len(L[-1]) 优化后&#xff1a; class Solution:def lengthOfLastWord(self, s: str) ->…