我有问题。我尝试使用此代码强制使用charset(ISO-8859-1)下载文件:
$response = new Response($data);
$response->headers->set('Content-Type', 'text/plain; charset=ISO-8859-1');
$response->headers->set('Content-Type', 'application/octet-stream');
$response->headers->set('Content-Disposition', 'attachment; filename=test.ps1');
$response->headers->set('Content-Transfer-Encoding', 'binary');
$response->headers->set('Expires', 0);
$response->headers->set('Cache-Control', 'must-revalidate');
$response->headers->set('Pragma', 'public');
return $response;
但我仍然在utf-8中获得一个文件... 我看着剖析器,我看到了好的字符集,但没有任何作用。
我觉得它仍然保留了应用程序的默认字符集:s
你知道它可以来自哪里吗?
提前谢谢。
答案 0 :(得分:0)
由于您实际上将文件下载到外部应用程序,该应用程序打开文件以遵守编码(而不是覆盖它)。
我认为charset
仅在您将内容输出到浏览器时才会起作用