如何显示俄文字符从PHP导出到制表符分隔(如果Excel)文件

这里是简单的代码导出到Excel的PHP

$filename ="excelreport.xls"; $contents = "русский \t testdata2 \t testdata3 \t \n"; header('Content-type: application/ms-excel'); header('Content-Disposition: attachment; filename='.$filename); echo $contents; 

русский但在excel中显示为“ ļ»æŃ€ŃŃŃŠŗŠøŠ¹

search发现Excel无法识别UTF-8的信息。 find好几个方法好像解决scheme,但没有任何作品

尝试echo "\xEF\xBB\xBF"; (没有变化)

那么$contents = mb_convert_encoding($contents, "SJIS","UTF-8"); 在Excel中获取„‚„…„„„{„y„z

那么$contents = mb_convert_encoding($contents, "UTF8", "JIS, eucjp-win, sjis-win"); 在Excel中获得Ń€ŃŃŃŠŗŠøŠ¹

这个php-excel类http://code.google.com/p/php-excel/source/browse/branches/class-excel-xml.inc.php?r=9可以正确显示俄文字符,但是哪一部分代码是否…? PHP-Excel类不使用,因为需要简单的代码,我可以理解和修改。

尝试此echo chr(255).chr(254).iconv("UTF-8", "UTF-16LE//IGNORE", $contents); 更好的东西。 但首先excel线是好的,但第二个是什么,这是什么?如何避免它?…

解决scheme哦,至less对我来说很简单的解决scheme

 $filename ="excelreport.xls"; $contents = "русский \t testdata2 \t testdata3 \t \n"; header('Content-type: application/ms-excel'); header('Content-Disposition: attachment; filename='.$filename); echo chr(255).chr(254).iconv("UTF-8", "UTF-16LE//IGNORE", $contents); 

只有问题。 如果人们提供了许多不同的方法来获得解决scheme,而不是所有的方法都能正常工作,那么这是否意味着取决于用户计算机的configuration(例如区域设置),一个解决scheme可能工作而另一个解决scheme却不行?