Json Symfony条令结果查询格式错误
我遇到了一个奇怪的情况,我不知道如何解决它 我在条令中得到了一个查询结果,其格式看起来很奇怪 我使用条令执行查询,如下一个示例:Json Symfony条令结果查询格式错误,json,symfony,doctrine,Json,Symfony,Doctrine,我遇到了一个奇怪的情况,我不知道如何解决它 我在条令中得到了一个查询结果,其格式看起来很奇怪 我使用条令执行查询,如下一个示例: $query = "select ... from ..." $stmt = $this->oracleDB->prepare($query); (This oracleDB is configured in the config.yml with "charset: ISO-8859-1" and "driver: oci8") $stmt->b
$query = "select ... from ..."
$stmt = $this->oracleDB->prepare($query);
(This oracleDB is configured in the config.yml with "charset: ISO-8859-1" and "driver: oci8")
$stmt->bindValue(1, $variable, "...");
more binds...
$stmt->execute();
$results = $stmt->fetchAll();
大多数情况下,结果都是正常的,json_编码可以工作,但有时我会得到下一个结果:
dump($results);
array:1 [▼
0 => array:6 [▼
"BLA1" => "xx"
"BLA2" => "XX"
"BLA3" => "XX"
"BLA4" => "XX"
"BLA5" => b"XX"
"BLA6" => "XX"
]
]
var_dump($results);
array (size=1)
0 =>
array (size=12)
'BLA1' => string 'XX' (length=2)
'BLA2' => string 'XX' (length=2)
'BLA3' => string 'XX' (length=2)
'BLA4' => string 'XX' (length=2)
'BLA5' => string 'X�X' (length=3)
'BLA6' => string 'XX' (length=2)
dump(json_encode($results));
false
如果我取消设置BLA5,json_编码工作得很好
unset($result[0]['BLA5']);
dump($result);
array:1 [▼
0 => array:5 [▼
"BLA1" => "xx"
"BLA2" => "XX"
"BLA3" => "XX"
"BLA4" => "XX"
"BLA6" => "XX"
]
]
dump(json_encode($results));
"[{"BLA1":"XX","BLA2":"XX","BLA3":"XX","BLA4":"XX","BLA6":"XX"}] ◀"
有什么想法吗?我本来希望数据库带有字符集ISO-8859-1,但实际上没有。所以一切都在控制之中。谢谢 这可能是由于
ISO-8859-1
编码造成的?是的。。。我被告知它应该是ISO-8859-1,但最终不是。这是另一个字符集。非常感谢。