Php json_使用json_UNESCAPED_UNICODE编码';无法删除\u0007字符

Php json_使用json_UNESCAPED_UNICODE编码';无法删除\u0007字符,php,unicode,encoding,preg-replace,Php,Unicode,Encoding,Preg Replace,运行以下代码应返回相同的字符,而不将其转换为\u0007(将x替换为字符\u0007,复制自) 但是,我仍然得到“\u0007”。有人有其他想法吗 这是沙箱: chr(0x07)不是多字节Unicode,这就是为什么我怀疑它打印为\u0007变量转储(json编码([“€“],json未转换的UNICODE))确实可以按预期工作。我不确定有什么方法可以防止无法打印字符的转义。假设我放弃转义它们,json_编码后还有什么需要清理的吗?我尝试了preg_replace('/\\u\d{4}/','

运行以下代码应返回相同的字符,而不将其转换为\u0007(将x替换为字符\u0007,复制自)

但是,我仍然得到“\u0007”。有人有其他想法吗

这是沙箱:

chr(0x07)
不是多字节Unicode,这就是为什么我怀疑它打印为\u0007<代码>变量转储(json编码([“€“],json未转换的UNICODE))确实可以按预期工作。我不确定有什么方法可以防止无法打印字符的转义。假设我放弃转义它们,json_编码后还有什么需要清理的吗?我尝试了preg_replace('/\\u\d{4}/',''$sample),但奇怪的是,当它在沙箱上工作时,在我的项目中它将返回null,我可能会运行类似于
$string=preg_replace('/[\x00-\x1F\x7F-\xFF]/','$string)的东西而不是试图解析输出,但是输出上的
/\\u[0-9]{4}/
应该可以工作。输入将是一个大的、嵌套很深的JSON,因此循环每一个值和键来进行preg_替换将是相当繁重的/\\u[0-9]{4}/应该可以工作,并且在沙箱上也可以工作,但由于某种原因(返回null,所以preg_replace中出现了一些错误),我想我运气不好。无论如何,谢谢你的帮助
chr(0x07)
不是多字节Unicode,这就是我怀疑它打印为\u0007的原因<代码>变量转储(json编码([“€“],json未转换的UNICODE))确实可以按预期工作。我不确定有什么方法可以防止无法打印字符的转义。假设我放弃转义它们,json_编码后还有什么需要清理的吗?我尝试了preg_replace('/\\u\d{4}/',''$sample),但奇怪的是,当它在沙箱上工作时,在我的项目中它将返回null,我可能会运行类似于
$string=preg_replace('/[\x00-\x1F\x7F-\xFF]/','$string)的东西而不是试图解析输出,但是输出上的
/\\u[0-9]{4}/
应该可以工作。输入将是一个大的、嵌套很深的JSON,因此循环每一个值和键来进行preg_替换将是相当繁重的/\\u[0-9]{4}/应该可以工作,并且在沙箱上也可以工作,但由于某种原因(返回null,所以preg_replace中出现了一些错误),我想我运气不好。无论如何,谢谢你的帮助!
$sample['dd'] = 'x';
$sample = strtolower(json_encode($sample, JSON_UNESCAPED_UNICODE));