From e25dd95389431dfb91e196b1351babd4ab11c52a Mon Sep 17 00:00:00 2001 From: Toshi MARUYAMA Date: Mon, 9 May 2011 06:45:40 +0000 Subject: PDF: replace invalid sequence in converting if encoding destination is UTF-8 (#61, #8312). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5715 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/export/pdf.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/redmine/export/pdf.rb b/lib/redmine/export/pdf.rb index 2ca6deb5c..448f7273f 100644 --- a/lib/redmine/export/pdf.rb +++ b/lib/redmine/export/pdf.rb @@ -455,8 +455,12 @@ module Redmine txt ||= '' if txt.respond_to?(:force_encoding) txt.force_encoding('UTF-8') - txt = txt.encode(l(:general_pdf_encoding), :invalid => :replace, - :undef => :replace, :replace => '?') + if l(:general_pdf_encoding).upcase != 'UTF-8' + txt = txt.encode(l(:general_pdf_encoding), :invalid => :replace, + :undef => :replace, :replace => '?') + else + txt = Redmine::CodesetUtil.replace_invalid_utf8(txt) + end txt.force_encoding('ASCII-8BIT') else ic ||= Iconv.new(l(:general_pdf_encoding), 'UTF-8') -- cgit v1.2.3