json_encode为非null值返回null

use*_*162 2 php json

这段代码出了什么问题?

$a = Array (
    "password" => "SeRjQRVUglkeM‰‰P9L7NsjKXOY", //it's encrypted with a custom encryption system
    "id" => 0
);
echo json_encode($a);
Run Code Online (Sandbox Code Playgroud)

我得到了什么:

{"password":null,"id":0}
Run Code Online (Sandbox Code Playgroud)

我想要的输出是什么:

{"password":"SeRjQRVUglkeM‰‰P9L7NsjKXOY","id":0}
Run Code Online (Sandbox Code Playgroud)

dec*_*eze 12

json_encode期望有效的UTF-8,不会编码无效的UTF-8值.如果您的"自定义加密值"包含二进制数据,我认为,通过JSON传输是不安全的.您应该base64_encode使用值,因此它仅使用可传输的ASCII字符.