Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii2始终将标题设置为";带BOM的UTF-8;用于保存文件_Php_Utf 8_Character Encoding_Yii2 - Fatal编程技术网

Php Yii2始终将标题设置为";带BOM的UTF-8;用于保存文件

Php Yii2始终将标题设置为";带BOM的UTF-8;用于保存文件,php,utf-8,character-encoding,yii2,Php,Utf 8,Character Encoding,Yii2,在Yii2中,我有一个控制器,可以将一些文本从数据库保存到.csv文件。它包含俄语(西里尔语)。问题是,当我在Excel中打开文件时,它的字符集不好:ÐÐÐÐÐÐÐÐÐÐ 对于Mac OS和Windows用户,Excel字符集结果相同。在记事本上打开就可以了。但记事本说它有编码“UTF-8和BOM”。如果我从记事本保存到“UTF-8”,Excel将读取良好的.csv文件 代码: 有什么想法吗?我尝试了很多字符集(windows-1251,cp1251),text/plain——没有结果此外,奇怪

在Yii2中,我有一个控制器,可以将一些文本从数据库保存到.csv文件。它包含俄语(西里尔语)。问题是,当我在Excel中打开文件时,它的字符集不好:ÐÐÐÐÐÐÐÐÐÐ

对于Mac OS和Windows用户,Excel字符集结果相同。在记事本上打开就可以了。但记事本说它有编码“UTF-8和BOM”。如果我从记事本保存到“UTF-8”,Excel将读取良好的.csv文件

代码:

有什么想法吗?我尝试了很多字符集(windows-1251,cp1251),text/plain——没有结果此外,奇怪的字符总是一样的,即使我将字符集设置为中文或其他任何字符

这就像头字符集不会更改,并且始终是“带BOM的UTF-8”。


Yii::$app->charset
是“UTF-8”,将
text/csv
更改为
text/plain
甚至
text/json
,或者另存为.txt并在Excel中打开-结果相同。

您是否检查了
layouts/main.php
文件?字符集可能是硬编码的,是的,
如果您还没有这样做,那么这只是另一个建议:检查页面源标题区域。我们可能在那里找到线索。我无法重新解决你的问题。默认情况下,我的设置为UTF-8。您是否检查了
layouts/main.php
文件?字符集可能是硬编码的,是的,
如果您还没有这样做,那么这只是另一个建议:检查页面源标题区域。我们可能在那里找到线索。我无法重新解决你的问题。我的默认设置为UTF-8
Yii::$app->response->format = \yii\web\Response::FORMAT_RAW;
Yii::$app->response->charset = 'utf-8';
Yii::$app->response->headers->set('Content-Type', 'text/csv; charset=utf-8');
Yii::$app->response->headers->add('Content-Disposition', 'attachment; filename="myfile.csv"');
// header('Content-Type: text/plain; charset=UTF-8',true);