zoukankan      html  css  js  c++  java
  • 【php】关于trim,rtrim,ltrim,substr 的字符串切割导致 json,_encode无法 识别数据的问题

    示例

    <?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等系列的方法或者优化算法,尽量避免使用这些切割函数,或者统一使用英文字符

  • 相关阅读:
    Mybatis插件开发入门,运行原理,例子
    ActiveMQ是什么,为什么使用MQ
    sql优化
    用户注册流程
    JMS入门Demo
    运维自动化之Ansible
    ceph安装部署
    ceph工作原理
    linux进程
    任务计划
  • 原文地址:https://www.cnblogs.com/china-flint/p/10475287.html
Copyright © 2011-2022 走看看