как получить результаты на арабском языке в форме поиска погоды "api support arabic lang" - PullRequest
0 голосов
/ 25 октября 2019

как получить арабские результаты в форме поиска погоды для местоположения "api support arabic lang"

У меня есть результаты погоды с английским языком, только когда я ввожу арабский город neme, у меня нет результатов, когда я заменяю местоположениеимя в связи с арабским названием города напрямую, у меня есть все инфы, которые мне нужны, но когда я использую форму поиска, у меня есть результаты с en-lang кодом, приведенным ниже ... что я могу сделать, чтобы получить результаты с ar lang !!

<meta charset="utf-8">
<main class="container text-center"
<h1 class="display-1">حالة الطقس</h1>
<form class="form-inline" method="post">
<div class="form-group mx-auto my-5">
<label class="sr-only" for="location">يرجى ادخال موقعك</label>
<input tupe="text" class="form-control" id="location" placeholder="location" name="location" size="100%">
<button class ="btn btn-primary" type="submit">ابحث الان</button>
</div>
</form>
----
$location = htmlentities($_POST['location']);
$location = str_replace(' ', '+', $location);
$geocode_url =  'https ://geocoder.api.here.com/6.2/geocode.json?searchtext='.$location.'&app_id=XXX&app_code=XXX';
$location_data = json_decode(file_get_contents($geocode_url));

1 Ответ

0 голосов
/ 25 октября 2019

Очевидно, это было связано с тем, что динамически вставленное значение не было правильно закодировано в URL, поэтому исправление должно измениться

searchtext='.$location.'

на

searchtext='.urlencode($location).'

Когда вы тестируете такой URL-адрес, напрямую вводя его в адресную строку браузера, браузер, как правило, самостоятельно применяет отсутствующую кодировку, когда это необходимо, но другие системы не обязательно делают это, поэтому вам нужно применить его самостоятельно.

...