Приветствую всех. Проблема в том, что я не могу сохранить в массив русские символы. В браузер вывожу, принятый с сервера объект, значением answer является null. С английскими символами все хорошо, сохраняются. Что делать?
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
$arr[] = array('answer_id' => $row['answer_id'], 'answer' => 'Облом!');
}
$result->close();
echo json_encode($arr);
Вот, что выводит консоль:
[Object]
0: Object
answer: null
answer_id: "1010002"
__proto__: Object
length: 1
__proto__: Array[0]
-Stepan-
15.01.2013 - 21:27
Попробуй создай файл
.htaccess и пропиши эти строки
AddDefaultCharset utf-8
AddCharset utf-8 *
<IfModule mod_charset.c>
CharsetSourceEnc utf-8
CharsetDefault utf-8
</IfModule>
и как эти строки могут помоч преобразовать null в русские строки?)))
сделай не
echo json_encode($arr);
а
echo '<pre>';
var_dump($arr);
и покажи что выводит.
Игорь_Vasinsky
15.01.2013 - 21:39
Цитата |
Вот, что выводит консоль: [Object] 0: Object answer: null answer_id: "1010002" __proto__: Object length: 1 __proto__: Array[0] |
выводящая консоль....
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Преобразовал файл в utf-8. Заработало. Проблема решена.
Цитата (Joker @ 15.01.2013 - 17:35) |
и как эти строки могут помоч преобразовать null в русские строки?)))
сделай не
echo json_encode($arr);
а
echo '<pre>'; var_dump($arr);
и покажи что выводит. |
Так отображается.)
array(1) {
[0]=>
array(2) {
["answer_id"]=>
string(7) "1010002"
["answer"]=>
string(6) "Привет"
}
}
Вспомнил, где-то читал, что json работает только с кодировкой utf-8. Вроде на официальном сайте было написано.