-
Kevin Falcone authored
Old versions of RT (especially those running on MySQL) were happy to pass garbage into MySQL and it was stored there, lurking, waiting for you to retrieve it. If you do retrieve it and then try to treat it like UTF-8 data (say by passing it to another system that strictly handles UTF-8 such as PostgreSQL) it will be rejected vigorously. This converts from Encode::decode('utf8','string'); which doesn't check the content and converts to perl's internal utf8. Encode::decode('UTF-8','string',Encode::PERLQQ); which converts to actual UTF-8 strings and will apply the PERLQQ filter documented in the Encode docs under Handling Malformed Data. This is similar to what we now do to all Web UI input in RT::Interface::Web::DecodeArgs
82403d5a