Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> \u00ab\u043f\u0440\u0438\u0432\u0435, помогите раскодировать 
V
    Опции темы
burakov
Дата 2.3.2012, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



Добрый день,
раскодируйте пожалуйста по русски это чем нибудь
\u00ab\u043f\u0440\u0438\u0432\u0435

Код

use JSON;
my $perl_scalar = from_json ( $str, {utf8 => 1});


дает ошибку
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before


и все остальные варианты модулей  json тоже не помогли - везде какие то ошибки лезут.

подскажите готовое решение ...
должен же хоть какой то модуль работать по раскодировке json???


Огромное спасибо.



--------------------
Нотный архив http://libnote.ru скачать ноты бесплатно
PM MAIL   Вверх
Nica
Дата 2.3.2012, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 2.3.2012

Репутация: нет
Всего: нет



burakov

$perl_scalar - надо декодировать


Код

    use Encode;
    $string = decode("utf8", $octets);


Это сообщение отредактировал(а) Nica - 2.3.2012, 00:48
PM MAIL   Вверх
burakov
Дата 2.3.2012, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



Товарищи - ничего не получается!
дайте кусочек готового скрипта,
так чтобы 
с этой абракадабры русские буквы получились

пробовал декодировать в utf8 
все равно ошибка

попробовал

Код

use strict;
use warnings;
use JSON::XS;
use URI::Escape;

my $str = '\u00ab\u043f\u0440\u0438\u0432\u0435\u0442\u00bb';

my $json_xs = JSON::XS -> new();
$json_xs -> utf8 (1);
$str = $json_xs -> decode ($str);
print $str ."\n";


пишет ошибку

malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before
"\\u00ab\\u043f\\u044...") at F:\work_georg\yell.ru\test.pl line 10.

что нужно сделать??
спасибо.


--------------------
Нотный архив http://libnote.ru скачать ноты бесплатно
PM MAIL   Вверх
DurRandir
Дата 2.3.2012, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 335
Регистрация: 27.9.2009

Репутация: 1
Всего: 17



Цитата
malformed JSON string

Какое слово в этой фразе вам непонятно?)

Это сообщение отредактировал(а) DurRandir - 2.3.2012, 16:23
PM   Вверх
burakov
Дата 3.3.2012, 12:19 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



Всем спасибо за такие ответы, за замечательные советы.
очень помогло.

проблему решил.
и тем кто с ней не сталкивался,
оставляю решение. может оно многих насмешит, но 
может кому то и поможет

Итак.
ошибка была в том, что я брал кусок кода
для расшифровки, а нужно было брать всю закодированную страничку, да еще и считать ее из файла "как есть".

подпрограмма принимает строку, а JSON::XS делает из нее хэш (можно дампером это увидеть),
после чего я прохожусть по этому хэшу и собираю это дело обратно в строку - получаю текст.
и возвращаю его.

Код

sub convert_json {
    use JSON::XS;
    my $content = shift;
    
    my @content = ();
    $content = decode_json ($content);    
    while (my ($key , $value) = each %$content) {
        $value = encode ('cp1251', $value);
        push (@content, $value);
    }
    my $str = join ('', @content); 
    return $str;
}


Всем доброго дня. smile. Тему закрываю.



--------------------
Нотный архив http://libnote.ru скачать ноты бесплатно
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0777 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.