Defect #13138

Generating PDF of issue causes UndefinedConversionError with htmlentities gem

Added by Mathew C almost 5 years ago. Updated almost 5 years ago.

Status:ClosedStart date:
Priority:LowDue date:
Assignee:-% Done:

0%

Category:PDF export
Target version:2.2.4
Resolution:Fixed Affected version:2.2.2

Description

When attempting to create a PDF of an issue an internal error occurs. I think it is caused by the '–' character (long dash or hyphen), because when I changed it to a standard dash '-' the PDF generated correctly.

In the log is the following:

Encoding::UndefinedConversionError ("\xE2" from ASCII-8BIT to UTF-8):
  lib/plugins/rfpdf/lib/tcpdf.rb:4346:in `unhtmlentities'
  lib/plugins/rfpdf/lib/tcpdf.rb:3542:in `block in writeHTML'
  lib/plugins/rfpdf/lib/tcpdf.rb:3509:in `each'
  lib/plugins/rfpdf/lib/tcpdf.rb:3509:in `writeHTML'
  lib/plugins/rfpdf/lib/tcpdf.rb:3620:in `writeHTMLCell'
  lib/redmine/export/pdf.rb:129:in `RDMwriteHTMLCell'
  lib/redmine/export/pdf.rb:681:in `block in issue_to_pdf'
  lib/redmine/export/pdf.rb:668:in `each'
  lib/redmine/export/pdf.rb:668:in `issue_to_pdf'
  app/controllers/issues_controller.rb:124:in `block (2 levels) in show'
  app/controllers/issues_controller.rb:116:in `show'

This is the output of RAILS_ENV=production rake about

About your application's environment
Ruby version              1.9.3 (x86_64-linux)
RubyGems version          1.8.11
Rack version              1.4
Rails version             3.2.11
Active Record version     3.2.11
Action Pack version       3.2.11
Active Resource version   3.2.11
Action Mailer version     3.2.11
Active Support version    3.2.11
Middleware                Rack::Cache, ActionDispatch::Static, Rack::Lock, #
<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x000000025c99a8>, Rack::Runtime,
 Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger,
 ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp,
 ActionDispatch::Callbacks, ActiveRecord::ConnectionAdapters::ConnectionManagement,
 ActiveRecord::QueryCache, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore,
 ActionDispatch::Flash, ActionDispatch::ParamsParser, ActionDispatch::Head,
 Rack::ConditionalGet, Rack::ETag, ActionDispatch::BestStandardsSupport,
 OpenIdAuthentication
Application root          /var/www/redmine-2.2.2
Environment               production
Database adapter          mysql2
Database schema version   20121026003537

ecookbook-1.pdf (309 KB) Toshi MARUYAMA, 2013-02-12 12:37

htmlentities_delete_r11398.diff Magnifier (1.63 KB) Jun NAITOH, 2013-02-15 13:25


Related issues

Duplicated by Redmine - Defect #12309: rfpdf fails to include htmlentities gem, even when instal... Closed

Associated revisions

Revision 11399
Added by Toshi MARUYAMA almost 5 years ago

not use htmlentities gem in rfpdf plugin (#13138)

Contributed by Jun NAITOH.

Revision 11400
Added by Toshi MARUYAMA almost 5 years ago

Merged r11399 from trunk to 2.2-stable (#13138)

not use htmlentities gem in rfpdf plugin.

Contributed by Jun NAITOH.

History

#1 Updated by Mathew C almost 5 years ago

Interestingly, PDF link works correctly for this issue, which was unexpected.

#2 Updated by Toshi MARUYAMA almost 5 years ago

I cannot reproduce on ruby-1.9.3-p374 in English.
What is your language and what is "general_pdf_encoding"?
English: source:tags/2.2.2/config/locales/en.yml#L143

#3 Updated by Toshi MARUYAMA almost 5 years ago

I forgot attaching PDF.

#4 Updated by Jun NAITOH almost 5 years ago

I tried on CentOS 6.
I added Gemfile.local file.

gem 'htmlentities'

I reproduced on ruby 1.9.3p125 in English.
But, I cannot reproduced on ruby 1.8.7 in English.

I think it is the same problem as #12309.

#5 Updated by Mathew C almost 5 years ago

Toshi MARUYAMA wrote:

I cannot reproduce on ruby-1.9.3-p374 in English.

Output from ruby --version is: ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
Server OS is Ubuntu 12.04 LTS.

What is your language and what is "general_pdf_encoding"?
English: source:tags/2.2.2/config/locales/en.yml#L143

Language is english & "general_pdf_encoding" is set to UTF-8.

#6 Updated by Jun NAITOH almost 5 years ago

I think to this probrem caused by htmlentities gem on ruby 1.9.3

Redmine PDF export don't use htmlentities gem, now.
I wrote htmlentities gem delete patch.

#7 Updated by Toshi MARUYAMA almost 5 years ago

  • Subject changed from Generating PDF of issue causes UndefinedConversionError in tcpdf.rb to Generating PDF of issue causes UndefinedConversionError with htmlentities gem

#8 Updated by Toshi MARUYAMA almost 5 years ago

  • Target version set to 2.2.4

#9 Updated by Toshi MARUYAMA almost 5 years ago

  • Status changed from New to Closed
  • Resolution set to Fixed

Committed in trunk r11399 and 2.2-stable r11400, thanks.

Also available in: Atom PDF