PHP中json_decode失败,JSON_ERROR_CTRL_CHAR

解决办法

  • 在获得到原始json字符串后加上,将所谓的控制字符(control character)去除,也就是ascii码0-31的字符去掉:

    $string = preg_replace( '/[\x00-\x1F]/','',$string);

  • PHP在处理json字符串时,不像python一样提供了strict=false的选项,所以必须使用上面方法去除控制字符

Mac下“.bashrc”启动不生效的解决办法

新建"~/.bash_profile",写入下面代码:

if [ "${BASH-no}" != "no" ]; then  
    [ -r ~/.bashrc ] && . ~/.bashrc  
fi

原因是执行.bashrc需要执行login shell,
而Mac启动时不会执行login shell,打开terminal也不会执行login shell