From de0ce06cd77e7ba314c7c73613b0457f6b27a801 Mon Sep 17 00:00:00 2001 From: saint Date: Mon, 9 Sep 2024 22:39:28 +1000 Subject: [PATCH] v0.7 Further attempt to get this reverse dobule encoding right now --- goss-correctencoding.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/goss-correctencoding.rb b/goss-correctencoding.rb index 6206896..47ded11 100644 --- a/goss-correctencoding.rb +++ b/goss-correctencoding.rb @@ -36,15 +36,15 @@ class GossamerForumsCorrectEncoding < ImportScripts::Base # # Treat as Windows-1252 (cp1252) and then decode into UTF-8 # corrected_content = content.encode('CP1252').force_encoding('UTF-8') # Step 1: Treat content as CP1252 and convert it back to UTF-8 - corrected_content = content.encode('CP1252').force_encoding('UTF-8') + corrected_content = content.encode('CP1252').force_encoding('UTF-8').force_encoding('UTF-8') - # Step 2: Check if there's still a problem (if still corrupted, apply the second pass) - if corrected_content.valid_encoding? - return corrected_content - else - # Step 3: If it's not valid UTF-8, re-encode and try to fix remaining issues - corrected_content.encode('UTF-8', invalid: :replace, undef: :replace) - end +# # Step 2: Check if there's still a problem (if still corrupted, apply the second pass) +# if corrected_content.valid_encoding? +# return corrected_content +# else +# # Step 3: If it's not valid UTF-8, re-encode and try to fix remaining issues +# corrected_content.encode('UTF-8', invalid: :replace, undef: :replace) +# end rescue Encoding::UndefinedConversionError => e puts "Error during encoding conversion: #{e.message}" puts e.backtrace.join("\n") # Print the full stack trace