szjozsi79 Creative Commons License 2019.10.11 0 0 10212

<?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).

 

Előzmény: NevemTeve (10211)