За последние 24 часа нас посетили 16890 программистов и 1703 робота. Сейчас ищет 971 программист ...

русские слова и json_encode

Тема в разделе "Прочие вопросы по PHP", создана пользователем BerdArt, 9 янв 2009.

  1. BerdArt

    BerdArt Активный пользователь

    С нами с:
    9 янв 2009
    Сообщения:
    2
    Симпатии:
    0
    Здравствуйте!
    Подскажите, почему у меня функция json_encode вместо русских слов оставляет пустые кавычки? Я так думаю что это из-за кодировки, но установка с помощью функции setlocale кодировки UTF-8 не помогает. Как решить эту проблему?
    Заранее спасибо.
     
  2. BerdArt

    BerdArt Активный пользователь

    С нами с:
    9 янв 2009
    Сообщения:
    2
    Симпатии:
    0
    Блин, сам уже нашел ....
    PHP:
    1.  
    2. <?
    3. ....
    4. echo json_encode(convert('cp1251', 'utf-8', $o));
    5.    
    6.    
    7.     function convert($from, $to, $var)
    8. {
    9.     if (is_array($var))
    10.     {
    11.         $new = array();
    12.         foreach ($var as $key => $val)
    13.         {
    14.             $new[convert($from, $to, $key)] = convert($from, $to, $val);
    15.         }
    16.         $var = $new;
    17.     }
    18.     else if (is_string($var))
    19.     {
    20.         $var = iconv($from, $to, $var);
    21.     }
    22.     return $var;
    23. }
    24. ?>
    25.