Hi guys!
I have a company model with a name attribute. Each company is association a set of projects. I created a feature which allows users to
download a csv version of these projects. The download will give you a
zipped file of all projects grouped by company. So the zip file contains x
number of csv files where x is the number of companies. Everything is
working nice.
But when a user created a company whose name contains greek
characters, I suddenly get issues with encoding. Here’s a small part of
the code that creates the zip file (i’m using zipruby btw)
Zip::Archive.open(file, Zip::CREATE) do |archive|
companies.each do |company|
data = CSV.generate(row_sep: “\r\n”, quote_char: ‘"’, force_quotes: true) do |csv|
company.projects.each { |project| csv << project.name }
end
archive.add_buffer “#{company.name}.csv”, data
end
end
so when company.name contains greek characters, i get a filename similar to company???.csv which cant be opened. I can’t find a
way to set the encoding of the filename so I just gsubbed it and ignored
all non-ascii characters which is fine. But if one of the projects also
has a greek character, then the csv file will contain weird non-greek
characters.
Any help or insight is appreciated. Thanks!