Ich benutze GuzzleHTTP 6.0, um die Daten vom API-Server zu erhalten. Aus irgendeinem Grund sind die vom API-Server empfangenen Anfragen nicht UTF-8-formatiert. Die Zeichen ü,ö,ä,ß
sind entstellte Zeichen.GuzzleHttp Anfrage sendet verstümmelte Zeichen
Mein Standardsystem und Datenbank ist UTF-8
codiert.
eingestellt I debug
zu true
im RequestOptions
dies die Ausgabe ist:
User-Agent: GuzzleHttp/6.2.1 curl/7.47.0 PHP/7.0.22-0ubunut0.16.04.1 Content-type: text/xml;charset="UTF-8" Accept: text/xml" Cache-Control: no-cache Content-Length: 2175 * upload completely sent off: 2175 out of 2175 bytes <HTTP/1.1 200 OK <Server:Apache:Coyote/1.1 <Content-Type: text/xml; charset=utf-8 <Transfer-Encoding: chunked <Date: Thu, 23 Nov 2017 9:34:12 GMT <* Connection #5 to host www.abcdef.com left intact
Ich habe Ausdrücklich den Header Inhalt in UTF-8 eingestellt;
$headers = array(
'Content-type' => 'text/xml;charset="utf-8"',
'Accept' => 'text/xml',
'Content-length' => strlen($requestBody),
);
Ich habe auch versucht mb_detect_encoding()
Methode
mb_detect_encoding($requestBody,'UTF-8',true); // returns UTF-8
weitere Ideen zu testen, mit wie kann ich dieses Problem debuggen .. ??