Задать вопрос
@kshkld7ck

Не меняется кодировка в PHP?

В общем, история такая
есть файл PHP, к которому обращаюсь из JS, передаю через ажакс данные, дабы в пыхе отправить запрос к АПИ. Ну и проблема в том, что как бы я не хотел написать на кириллице текст, он не переводил мне его в UTF-8, всегда была CP1251. Даже если в PHP файле захардкодить на кириллице, все равно некорректно выдаст, в следствие чего для гет запроса ломается ссылка и запрос не проходит.
<?php 
header('Content-Type: text/html; charset=utf-8');

function api_request($data = '', $url = '') {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    
    $result = curl_exec($ch);
    $error  = curl_error($ch);
    curl_close($ch);
    return $result;
}
if($_REQUEST['act']=='yl'){

	$req = json_decode($_REQUEST['text'], true);
	print var_dump($req);
	$region = $req['region'];
	$name = $req['legalname'];
	$url = "https://api-ip.fssprus.ru/api/v1.0/search/legal?region=".$region."&token=token&name=".$name;
	print $url;
    $result = api_request("", $url);
	print json_encode($result);
}


 ?>

и соответственно что передаю
var form_data = {
        'token':"token",
         'region':$('.selected-item').attr('data-value'),
         'legalname':$('#legalname').val(),
         'adress':$('#adress').val(),
     }
  $.ajax({
              url: ./ajax.php?act=yl,
             type: 'POST',
             data: {'text': JSON.stringify(form_data)},
             success: function(res) { 
console.log(res);
}

Вот как бы решения на поверхности, но ничего, что нашел в поисковике - не помогло. Попробовал на разных серваках - тоже не помогло.
  • Вопрос задан
  • 197 просмотров
Подписаться 2 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы