最近需要将数据存入优惠券等信息存入到db中,然后会通过binlog同步到hive表中,然后es索引再从hive中同步数据到ElasticSearch中,es为了保证尽可能少的从磁盘中读取数据,要求写入es中的数据尽可能少,但是json_encode()中的参数如果有中文的话,会增加长度。而且取出来后还会出现乱码,需要json_encode()后依然保证是中文,且可以节省磁盘空间
参考鸟哥:json_encode中文处理
$str = '中文';echo json_encode($str); //"\u4e2d\u6587"echo json_encode($str, JSON_UNESCAPED_SLASHES); // "中文"