Intereting Posts
Как я могу захватить результат var_dump в строку? Использование строкового пути для установки данных вложенных массивов PHP Curl получить ответ сервера Автоматическое документирование REST API в PHP Отправка JSON через AJAX на PHP с помощью jQuery Преобразование PHP RSA PublicKey в Android PublicKey оператор switch с двумя переменными одновременно Обработка ошибок PHP с .htaccess и записью в текстовый файл php_error.log Как настроить php для включения pdo и включить mysqli в CentOS? PHP – Ошибка анализа: синтаксическая ошибка, неожиданный конец файла cURL занимает слишком много времени, чтобы загрузить Ошибка Symfony2 Doctrine Обнаруженная сущность типа Doctrine \ Common \ Collections \ ArrayCollection в ассоциации sth # vote, но ожидающая sth \ Vote Как сделать обратную ссылку на страницу разбиения на страницы вернуться к предыдущей странице разбиения на страницы Как получить все категории продуктов из mysql db через php и вернуть json array Время выполнения кода PHP

Степень «°» не отображается в функции php json_encode, как отобразить это?

Я передаю php-массив как

[sit_latitude] => 20° 23.298' N 

внутри json_encode (); и выход подобен,

  {"sit_latitude":null} 

он отображает нуль, как это разрешить?

мой фрагмент кода

 ... $stmt->bindParam("id", $_GET[id]); $stmt->execute(); $employee = $stmt->fetchObject(); $dbh = null; echo '{"item":'. json_encode($employee) .'}'; 

что я пытался и добился успеха, было немного странно, но работало, поэтому позвольте мне поделиться им с вами.

 $latitude = json_encode(utf8_encode($emplyoee['sit_latitude'])); $longitude = json_encode(utf8_encode($employee['sit_longitude'])); $emplyoee['sit_latitude'] = $latitude; $emplyoee['sit_longitude'] = $longitude; 

и теперь проходят как

 echo '{"item":'. json_encode($employee) .'}'; 

это решит вашу проблему

json_encode предполагает, что строки в своем вводе действительны UTF-8 (имейте в виду, что строки PHP представляют собой последовательности байтов, а не последовательности кодов Unicode). Если ваш текстовый редактор не настроен на использование этой кодировки (и вы не вручную сгенерировали UTF-8 с помощью шестнадцатеричных escape-кодов, таких как \xc2\xb0 в \xc2\xb0 с двумя \xc2\xb0 ), строка будет закодирована как null (потому что это недопустимо UTF-8).

Другие распространенные кодировки, такие как Windows-1252 , также являются надмножеством ASCII, так что это только проблема, если есть любые символы, отличные от ASCII (включая U + 00B0 DEGREE SIGN).

Даже если строка действительна UTF-8, по умолчанию json_encode выводит \u00b0 вместо фактического знака степени. Это не является проблемой для программного декодирования с использованием PHP json_decode или JavaScript JSON.parse , которые понимают шестнадцатеричные escape-последовательности JSON.

(В PHP 5.4 существует флаг JSON_UNESCAPED_UNICODE чтобы предотвратить это экранирование. Однако на многих веб-серверах по-прежнему имеется PHP 5.3 или более JSON_UNESCAPED_UNICODE , а флаг обездвиживает даже проблемные символы U + 2028 LINE SEPARATOR и U + 2029 PARAPRAPH SEPARATOR. для имитации флага в двух строках кода, хотя, как я объяснил выше, вам все равно не нужно.)

JSON и экранирующие персонажи – этот пост может вам помочь.

Просто пройти степень как \u00f8C а затем декодировать его с помощью js.

Вы можете попробовать htmlspecialchars () функцию http://php.net/manual/en/function.htmlspecialchars.php