分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

【php】关于trim,rtrim,ltrim,substr 的字符串切割导致 json,_encode无法 识别数据的问题

发布时间:2023-09-06 02:34责任编辑:林大明关键词:jsjson

示例

<?php$a = rtrim('南宁 、',' 、');echo $a;//输出 ?南??echo json_encode($a);//输出空白$b = ['name'=>$a];echo json_encode($b);//输出 json_encode(): Invalid UTF-8 sequence in argument 不同版本可能不一样,也有可能空白?>

原因

网上搜的还有个星期二问题相关的,都是切割字符串引起的,在UTF8中一个中文3个字节,GB系列的是2个字节,而英文一个字母是一个字节,切割的时候,如果碰到中文或者中文系列的符号,会产生切割一个3个字节的中文切割成一半的情况,造成无法识别的问题

处理方法

可以采用mb_substr等系列的方法或者优化算法,尽量避免使用这些切割函数,或者统一使用英文字符

【php】关于trim,rtrim,ltrim,substr 的字符串切割导致 json,_encode无法 识别数据的问题

原文地址:https://www.cnblogs.com/china-flint/p/10475287.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved