From 318f4eb719aa28a29d75da59bdc01f0990109121 Mon Sep 17 00:00:00 2001 From: David Leung Date: Fri, 1 Nov 2013 16:17:15 -0700 Subject: [PATCH] Sidekiq Web: If text contains invalid byte sequence, replace them instead of raising an exception --- lib/sidekiq/web_helpers.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/sidekiq/web_helpers.rb b/lib/sidekiq/web_helpers.rb index ee1ff38a..21f24df9 100644 --- a/lib/sidekiq/web_helpers.rb +++ b/lib/sidekiq/web_helpers.rb @@ -160,6 +160,10 @@ module Sidekiq def h(text) ::Rack::Utils.escape_html(text) + rescue ArgumentError => e + raise unless e.message.eql?('invalid byte sequence in UTF-8') + text.encode!('UTF-16', 'UTF-8', invalid: :replace, replace: '').encode!('UTF-8', 'UTF-16') + retry end # Any paginated list that performs an action needs to redirect