www.boolean.name

www.boolean.name (http://forum.boolean.name/index.php)
-   PHP / MySQL (http://forum.boolean.name/forumdisplay.php?f=135)
-   -   json_encode(array, JSON_UNESCAPED_UNICODE) (http://forum.boolean.name/showthread.php?t=20241)

ant0N 29.03.2016 14:09

json_encode(array, JSON_UNESCAPED_UNICODE)
 
в общем, не работает с массивом. Почему?
С обычным текстом все ок. Если подставлю даже одно поле массиво, то вижу [??????]

pax 29.03.2016 14:33

Ответ: json_encode(array, JSON_UNESCAPED_UNICODE)
 
кодировка файла?

ant0N 29.03.2016 15:01

Ответ: json_encode(array, JSON_UNESCAPED_UNICODE)
 
какого файла?
т.е с русскими буквами так происходит. с английскими все ок

Randomize 29.03.2016 16:32

Ответ: json_encode(array, JSON_UNESCAPED_UNICODE)
 
Причина 1 - неверная кодировка веб-сервера:
Открой отладчик (Ctrl+Shift+I или F12) там смотри вкладку сеть и заголовки. Проверь чтоб там было в параметре Content-Type была кодировка utf-8.
Если её там нет, то перед выводом json напиши
PHP код:

header('Content-Type: text/json;; charset=utf-8'); 

Причина 2 - неверная кодировка БД:
После соединения с базой(mysql_connect) и выбора бд(mysql_select_db) следует выполнить промежуточный запрос
PHP код:

mysql_query('SET NAMES utf8'


ant0N 29.03.2016 17:39

Ответ: json_encode(array, JSON_UNESCAPED_UNICODE)
 
Randomize, благодарю, помог!


Часовой пояс GMT +1, время: 19:39.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot