最近在项目中遇到json_encode返回false,通过json_last_error()和json_last_error_msg()函数获取到的错误代码为5,错误信息为Malformed UTF-8 characters, possibly incorrectly encoded,参考代码:
//用户信息
$data = [
'age' => 18,
'name' => '高久峰'
];
//过长字段截取
$data['name'] = substr($data['name'], 0, 2);
//保存为Json
$en_char = json_encode($data);
if (!$en_char)
{
print_r('错误码:' . json_last_error() . PHP_EOL);
print_r('错误信息:' . json_last_error_msg());
}输出:
错误码:5 错误信息:Malformed UTF-8 characters, possibly incorrectly encoded
本来以为是编码问题,毕竟用户上传的是excel文件报错的,多次进行编码结果也不行,后来想到是不是substr导致中文字符串出现问题了,于是改为下面:
//过长字段截取 $data['name'] = mb_substr($data['name'], 0, 2, 'utf-8');
于是ok了。
<?php function go($str) { echo'I\'m '.$str; } $goto='go'; $goto('gaojiufeng'...
在项目中需要对图片进行裁剪,前端裁剪完成发送base64给后端,但是很意外的PHP获取到的数据和前端有点差距,之前我都是先加密,后端解密,但是这次依然不行。于是使用filter_input方法轻松解决。$base64 = filter_input(INPUT_POST...
php调用Webservice基本语法如下:$url ='xxxxxxx.cn' //链接服务器端 $client = new SoapClient($url);通过以上语法已经连接到webservice,也可将wsdl在本地使用,...
项目中使用服务来执行webservice,由于对方系统api不稳定,经常导致服务崩溃,只能重启,一个月差不多要重启一次。初期的解决办法是捕获异常,然后continue掉。<?php try { $url = 'http...
上篇文章已经讲解arrayacces的原理,现在来讲解下arrayaccess的实际应用。一个大型的互联网项目中必然会存在各种配置信息,例如多种数据库信息:mysql,tidb,mongodb,redis,某个业务模块单独的配置信息如比例,额度等等,那么该如何治理配置信息?PHP项目中大部分的框架都...
(1).学习的目标:学会创建父子进程,并且能够区分当前进程是父还是子;了解父进程执行过程,子进程执行过程;能够用多进程执行任务(2).相关函数学习: (2.1)pcntl_fork()执行时: &nbs...