如何显示从php导出到俄语符号分隔(如excel)文件的俄语字符

时间:2013-06-27 09:24:04

标签: php excel encoding export

这是将php导出为ex​​cel的简单代码

$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中显示为ļ»æŃ€ŃŃŃŠŗŠøŠ¹

搜索已找到Excel无法识别UTF-8的信息。找到了好几种方法,但没有一种方法

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

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

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

这个正确显示俄语字符的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行是好的русский testdata2 testdata3 但是第二个是胑菑臑臑뫐룐말ठ琠獥摴瑡㉡ठ琠獥摴瑡㍡ठਠ是什么以及如何避免它...

解决方案 哦,至少对我来说非常简单的解决方案

$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);

唯一的问题。如果人们提供了许多不同的方法来获得解决方案并且并非所有方法都有效,那是否意味着根据用户计算机配置(例如区域设置),一个解决方案可能有效,而其他解决方案无效?

0 个答案:

没有答案