RT 5.0.3 (version 5.0.7 have same problem)
Get error:
[3185992] [Thu Feb 27 10:48:15 2025] [error]: Wide character at /opt/rt5/sbin/../lib/RT/Interface/Web.pm line 1325.
Stack:
[/opt/rt5/sbin/../lib/RT/Interface/Web.pm:1325]
[/opt/rt5/sbin/../lib/RT/Interface/Web.pm:309]
[/opt/rt5/share/html/autohandler:53] (/opt/rt5/sbin/../lib/RT/Interface/Web/Handler.pm:216)
It cause if user name contains UTF-8 characters. Error ocurs in function DecodeARGS
.
Line that couse error is: ? { map { ref($_) ? $_ : Encode::decode( 'UTF-8', $_, Encode::FB_PERLQQ ) } %$_ }
Ask ChatGPT to fix that function and came with solution.
Original part of code:
( !$type )
? Encode::decode( 'UTF-8', $_, Encode::FB_PERLQQ )
: ( $type eq 'ARRAY' )
? [ map { ref($_) ? $_ : Encode::decode( 'UTF-8', $_, Encode::FB_PERLQQ ) } @$_ ]
: ( $type eq 'HASH' )
? { map { ref($_) ? $_ : Encode::decode( 'UTF-8', $_, Encode::FB_PERLQQ ) } %$_ }
: $_
Fixed version that works:
( !$type )
? ( Encode::is_utf8($_) ? $_ : Encode::decode( 'UTF-8', $_, Encode::FB_PERLQQ ) )
: ( $type eq 'ARRAY' )
? [ map { ref($_) ? $_ : ( Encode::is_utf8($_) ? $_ : Encode::decode( 'UTF-8', $_, Encode::FB_PERLQQ ) ) } @$_ ]
: ( $type eq 'HASH' )
? { map { ref($_) ? $_ : ( Encode::is_utf8($_) ? $_ : Encode::decode( 'UTF-8', $_, Encode::FB_PERLQQ ) ) } %$_ }
: $_