From 9161aaa5779d0d9750abb591a81f2ecb82c137f7 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 12 Jul 2016 13:44:14 +0000 Subject: [PATCH] 01_FHEMWEB.pm/98_telnet.pm: utf8/wide char fixes (Forum #55539) git-svn-id: https://svn.fhem.de/fhem/trunk@11789 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/01_FHEMWEB.pm | 3 ++- fhem/FHEM/98_telnet.pm | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index bfdcbac69..0838aed55 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -464,7 +464,8 @@ FW_Read($$) ($FW_httpheader{"Accept-Encoding"} && $FW_httpheader{"Accept-Encoding"} =~ m/gzip/) && $FW_use_zlib) { - utf8::encode($FW_RET) if(utf8::is_utf8($FW_RET)); + utf8::encode($FW_RET) + if(utf8::is_utf8($FW_RET) && $FW_RET =~ m/[^\x00-\xFF]/ ); eval { $FW_RET = Compress::Zlib::memGzip($FW_RET); }; if($@) { Log 1, "memGzip: $@"; $FW_RET=""; #Forum #29939 diff --git a/fhem/FHEM/98_telnet.pm b/fhem/FHEM/98_telnet.pm index 1a4388f87..69ad18feb 100644 --- a/fhem/FHEM/98_telnet.pm +++ b/fhem/FHEM/98_telnet.pm @@ -316,7 +316,7 @@ telnet_Output($$$) $ret = "$ret\n" if(!$hash->{showPrompt}); } for(;;) { - utf8::encode($ret) if(utf8::is_utf8($ret)); + utf8::encode($ret) if(utf8::is_utf8($ret) && $ret =~ m/[^\x00-\xFF]/); my $l = syswrite($hash->{CD}, $ret); last if(!$l || $l == length($ret)); $ret = substr($ret, $l);