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