@Leytenant

Как победить ошибку при вставке русского текста в Redis через Perl скрипт?

При попытке вставить запись содержащую русский язык получаю ошибку:
command sent is not an octet sequence in the native encoding (Latin-1). Consider using debug mode to see the command itself.
Ошибка возникает на строчке:
my $status = $redis->hset("postavshik", 1, $text);

Кодировка переменной $text UTF-8.
utf8::is_utf8( $text ) возвращает 1.

В начале скрипта директивы:
use utf8;
no warnings "utf8";
use open qw(:std :utf8);

Соединение с Redis:
my $redis = Redis->new(
server => 'localhost:6379',
encoding => undef,
);
Пробовал encoding => 'utf8', тоже самое.
  • Вопрос задан
  • 1209 просмотров
Решения вопроса 1
@pcdesign
Можно так попробовать

use Encode;
Encode::_utf8_on($text);
my $status = $redis->hset("postavshik", 1, $text);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы