encoding fix
This commit is contained in:
parent
9917cb186d
commit
bfd2b8abeb
|
@ -1,4 +1,5 @@
|
|||
module Admin::SurveysHelper
|
||||
require 'iconv' unless String.method_defined?(:encode)
|
||||
def page_for_survey(survey=nil)
|
||||
ann_page = nil
|
||||
pages = Page.where(:module=>'survey')
|
||||
|
@ -28,4 +29,15 @@ module Admin::SurveysHelper
|
|||
request.protocol+(request.host_with_port+'/'+I18n.locale.to_s+ann_page.url+'/').gsub('//','/') rescue "/"
|
||||
end
|
||||
end
|
||||
|
||||
def remove_illegal_utf8(str)
|
||||
if String.method_defined?(:encode)
|
||||
str.encode!('UTF-8', 'UTF-8', :invalid => :replace)
|
||||
else
|
||||
ic = Iconv.new('UTF-8', 'UTF-8//IGNORE')
|
||||
str = ic.iconv(str)
|
||||
end
|
||||
str
|
||||
end
|
||||
|
||||
end
|
|
@ -1,25 +1,25 @@
|
|||
# encoding: utf-8
|
||||
|
||||
wb = xlsx_package.workbook
|
||||
wb.add_worksheet(name: @survey.title[0..15]) do |sheet|
|
||||
wb.add_worksheet(name: remove_illegal_utf8(@survey.title[0..15])) do |sheet|
|
||||
|
||||
row = []
|
||||
@survey_questions.each_with_index do |question, i|
|
||||
if question.type == 2 or question.type == 3 or question.type == 4
|
||||
question.survey_question_options.each do |option|
|
||||
row << "#{i+1}. #{question.title} - #{option.name}"
|
||||
row << "#{i+1}. #{remove_illegal_utf8 question.title} - #{remove_illegal_utf8 option.name}"
|
||||
end
|
||||
elsif question.type == 5
|
||||
question.survey_question_options.each do |option|
|
||||
question.survey_question_radiogroups.each do |radiogroup|
|
||||
row << "#{i+1}. #{question.title} - #{option.name} - #{radiogroup.name}"
|
||||
row << "#{i+1}. #{remove_illegal_utf8 question.title} - #{remove_illegal_utf8 option.name} - #{remove_illegal_utf8 radiogroup.name}"
|
||||
end
|
||||
end
|
||||
else
|
||||
row << "#{i+1}. #{question.title}"
|
||||
row << "#{i+1}. #{remove_illegal_utf8 question.title}"
|
||||
end
|
||||
if question.custom_option
|
||||
row << "#{i+1}. #{question.title} - #{t('survey_question.use_custom_option')}"
|
||||
row << "#{i+1}. #{remove_illegal_utf8 question.title} - #{t('survey_question.use_custom_option')}"
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue