CSV从UTF8到ISO-8859-1 [英] CSV from UTF8 to ISO-8859-1
本文介绍了CSV从UTF8到ISO-8859-1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试修改CSV导出. 但这不会将我的CSV文件从UTF-8转换/保存为ISO-8859-1
i am trying to modify my CSV export. But it wont convert / save my CSV from UTF-8 to ISO-8859-1
任何想法,请问我做错了什么?
Any Ideas what i have made wrong, please?
实际上,由于修改了此内容,我得到了一个空的CSV文件...
Actually since modifying this, i get a empty CSV File...
(php 7.0.x)
(php 7.0.x)
function my_GenerateCSV($prefix, $csvarray, $getMonth){
### Generate CSV File from CSVArray
if ($prefix == 'sepa'){
$date = '-'.getTodaysDate();
}
$month = $getMonth;
$filename = 'private/'.$prefix.'-'.$month.$date.'.csv';
$fp = fopen(ROOTDIR . '/'.$filename, 'w');
foreach ($csvarray as $key => $value) {
//fputcsv($fp, $value, ';');
fputcsv($fp, convertToISOCharset($value), ';');
}
fclose($fp);
return $filename;
}
function convertToISOCharset($string) {
$string = mb_convert_encoding($string, "ISO-8859-1", "UFT-8");
return $string;
}
解决方案:
function convertToISOCharset($array)
{
foreach($array as $key => $value)
{
if(is_array($value))
{
$array[$key] = convertToISOCharset($value);
}
else
{
$array[$key] = mb_convert_encoding($value, 'ISO-8859-1', 'UTF-8');
}
}
return $array;
}
推荐答案
解决方案应要求提供:
function convertToISOCharset($array)
{
foreach($array as $key => $value)
{
if(is_array($value))
{
$array[$key] = convertToISOCharset($value);
}
else
{
$array[$key] = mb_convert_encoding($value, 'ISO-8859-1', 'UTF-8');
}
}
return $array;
}
这篇关于CSV从UTF8到ISO-8859-1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文