Таким образом, LWP :: UserAgent может автоматически определять кодировку? - PullRequest
1 голос
/ 29 июня 2011
  our $ua = LWP::UserAgent->new;
  my $response = $ua->get($url);
  if($response->is_success) {
    my $perl_hash_or_arrayref = decode_json(encode("UTF-8", $response->decoded_content));

Приведенный выше код преобразует ответ в кодировку UTF-8 без необходимости сообщать, какую кодировку использует ответ.

Я полагаю, что в некоторых случаях это может не сработать.

Как я могу явно указать LWP::UserAgent кодировку ответа?

1 Ответ

2 голосов
/ 29 июня 2011

См. Документы для decoded_content в HTTP::Message:

$ mess-> decoded_content (% options)

    Returns the content with any Content-Encoding undone and for
 textual content the raw content encoded to Perl's Unicode strings.
 If the Content-Encoding or charset of the message is unknown this
 method will fail by returning undef.

    The following options can be specified.

    charset

        This override the charset parameter for text content. The value
 none can used to suppress decoding of the charset.
...