On 6/10/2016 11:56 PM, Lutz Gehlen wrote:

send_file(

     \$str,
     content_type => 'text/csv',
     filename     => 'foo.csv',

);

The problem is that external requirements force me to send the file
in iso-8859-1 and it seems that I cannot manage to achieve that.
As far as I understand, the charset is set in config, so you could try
to override the setting in your route like:

set 'charset'      => 'iso-8859-1;

Never tried, but it should work.
Yes. this works. However, it changes charset permanently (for the current
process) and I don't get the chance to change it back because send_file does
not return. Is there no way to set it temporarily just for this send_file?

There should be no need to change your apps charset.

If you look at any of the HTTP specs, a Content-Type header looks like:

  Content-Type: text/html; charset=utf-8

Without digging into the Dancer1 code,

send_file(\$str, content_type => 'text/html; charset=utf-8', filename => 'foo.html' );

should DWIM (it will in Dancer2). Substitute your own mime types and encoding as needed.


Hope that helps,
  Russell
  @veryrusty


_______________________________________________
dancer-users mailing list
[email protected]
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users

Reply via email to