所以我这样做了(我使用 Drupal 6):
while(@ob_end_clean());
drupal_set_header("Content-type: text/csv;");
drupal_set_header("Cache-Control: no-store, no-cache");
drupal_set_header("Content-Disposition: attachment; filename=translations.csv");
print chr(255) . chr(254) . mb_convert_encoding($output, 'UTF-16LE', 'UTF-8');
exit;
导出 utf-8 字符的 CSV。当我导入 excel 时,utf-8 字符会正确显示。
问题是,excel 不会解析分隔符,即逗号将全部显示在一列中,而不是在文件打开时用作分隔符。
有没有办法让我打开它时,逗号将用作分隔符?
csv中的一行如下:
$output .= '"'.str_replace('"', '""', $id).'","'.str_replace('"', '""', $source).'","'.str_replace('"', '""', $translation) . '"';
我尝试使用制表符 \t 而不是逗号作为分隔符,但同样的事情会发生,即。选项卡不会用作文件打开时的分隔符