Поскольку в некоторые дни мой сервис не может использовать информацию, которую он получает с помощью моего API. JSON правильно сформирован, но когда строка получает file_get_contents, он добавляет некоторый символ перед строкой.Я закончил, обнаружив, что эти недопустимые символы - ascii 239,187,191 Почему это меняет это?Что я могу сделать, чтобы избежать этой проблемы?
Сервер - уродливый сервер Windows, я думаю, что этот ужас исходит отсюда, но не уверен, я не являюсь его владельцем.API находится на codeigniter, а не создан мной, а клиент на моей собственной платформе.
Если я ищу в ответе этот код:
$test = file_get_contents($test);
for($i = 0 ; $i < strlen($test); $i++)
{
echo $i;
echo " : ";
echo $test[$i];
echo " / ";
echo ord($test[$i]);
echo "<br>";
}
die;
У меня есть такой результат:0: � / 239 1: � / 187 2: � / 191 3: c / 99 4: b / 98 5: s / 115 6: a / 97 7: $ / 36 8: 5/53 9: c / 9910: 2/50 11: 3/51
сторона API:
public function listeDossiers($token, $year, $month)
{
$token=$this->hexToStr($token);
$token = substr($token,3);
$connexion = $this->ConnLabo_model->findByToken($token);
if($connexion !== null){
header('content-type:application/json');
$liste = json_encode($this->RendezVous_model->findByLabo($connexion->id_user, $year, $month) );
echo $liste;
return;
}
}
сторона клиента
$this->view->setTpl('Liste');
$this->layout->year=$year;
$this->layout->month=$month;
$file = $this->restConfig['server'] . "/listeDossiers/" . $this->strToHex(trim($_SESSION['token'])) . '/' . $year . '/' . $month;
//var_dump($file);die;
$file = file_get_contents($this->restConfig['server'] . "/listeDossiers/" . $this->strToHex(trim($_SESSION['token'])) . '/' . $year . '/' . $month ) ;
$this->view->liste = json_decode( $file);