<?php
function getVars(){
$url = "http://aszalymonitoring.vizugy.hu/api.php";
$curl = curl_init();
curl_setopt( $curl , CURLOPT_URL , $url );
curl_setopt( $curl , CURLOPT_HEADER , 0 );
curl_setopt( $curl , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt( $curl , CURLOPT_POST , 1 );
curl_setopt( $curl , CURLOPT_PORT , 80 );
curl_setopt( $curl , CURLOPT_POSTFIELDS , 'view=getvariables' );
curl_setopt( $curl , CURLOPT_TIMEOUT , 10 );
curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER , 0 );
$ret = curl_exec( $curl );
curl_close( $curl );
return $ret;
}
$vars = getVars();
echo $vars . "\r\n";
?>
A $vars egy json string, így a kimeneten (terminál) megjelenik egy jó hosszú string, ahol többek között az é betű helyett \u00e9, az ő helyett pedig \u0151, és a többi ékezetes betű helyett is hasonló kódolású karakterkód-ot látok.
Ezt a $vars stringet fájlba írom, eredmény természetesen ugyanez.
Ha írok egy ilyet az echo helyett:
var_dump( json_decode( $vars ) );
akkor annak a kimenete tök jó lesz ékezetek szempontjából, azonban a json_decode egy adatstruktúrát állít elő, amit a var_dump egy úgymond saját (human readable) formában fog megjeleníteni, ami viszont nem json-kompatibilis.
Amit én szeretnék, hogy az $vars stringben \u0151 helyett ő legyen, \u00e9 helyett pedig é. Nyilván tehetnék bele str_replace-t, ami kicseréli, de hagy ne kelljen már nekem ezzel foglalkoznom, ráadásul nemcsak magyar ékezetes betúk vannak, hanem pl. a fok jele (kis karika felül).