PHP解决某些特殊汉字符或汉字转码后成乱码或者空白的问题
发布时间:2021-06-16, 17:47:19 分类:PHP | 编辑 off 网址 | 辅助
正文 138字数 108,568阅读
比如“珺”字在单纯的调用iconv 和mb_convert_encoding会显示乱码或空白,
解决办法:
$name = iconv("utf-8","gbk//IGNORE",$str);
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
Welcom to PHP解决某些特殊汉字符或汉字转码后成乱码或者空白的问题 - lizhenqiu blog!
激活Windows
转到"设置"以激活Windows。
有过 1 条评论 »
导致原因:在 curl post 方式调用客服接口时,
传参过程中使用了 json_encode 函数对变量进行 JSON 编码,我们习惯性的不填写第二个参数,
或者使用框架里封装好的 json 函数,导致中文乱码的问题;
解决方法:在 json_encode 函数加上第二个参数
function sendService($object, $access_token) { /* 获得openId值 */ $openid = (string)$object->FromUserName; $post_data = array( 'touser' => $openid, 'msgtype' => 'text', 'text' => array( 'content' => '这是客服自动回复的消息' ) ); $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" . $access_token; curlPost($url, json_encode($post_data, JSON_UNESCAPED_UNICODE)); } function curlPost($url, $post_data) { $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_URL, $url); // post数据 curl_setopt($ch, CURLOPT_POST, 1); // post的变量 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $response = curl_exec($ch); curl_close($ch); //-------请求为空 if(empty($response)){ exit("50001"); } return $response; }