【问题标题】:How to make excel interpret Chinese characters in CSV file如何让excel解释CSV文件中的汉字
【发布时间】:2016-06-30 03:59:30
【问题描述】:

我正在从包含中文字符的 unix shell 脚本发送报告。

当我在 textmate 之类的纯文本编辑器中打开 CSV 报告时,我可以看到中文字符,但是当我在 Excel 中打开 CSV 报告文件时,我看不到中文字符,但有些乱码。

如何“告诉”excel该文件包含中文字符集?

这是发送邮件并附加 CSV 文件的代码。

send_mail() {

v_mailpart="ZZ_/afg6432dfgkl.94531q"
echo "Mail to be sent to $RPT_SEND_TO"
echo "To: $RPT_SEND_TO
Subject: Blah Report as of $report_date_format;
Content-Type: multipart/mixed; boundary=\"$v_mailpart\"
MIME-Version: 1.0

This is a multi-part message in MIME format.
--$v_mailpart
Content-Type: text/html
Content-Disposition: inline

<html><body><p>Hi All,<p>Please find attached, the daily report <p>Thanks,
<br/>Blah Team</br/><br/><br/></p><p>NOTE: This is an auto-generated email. Do not reply to it. Please send an email to blah-group@mycompany.com in
 case of any issues.<p></body></html>

--$v_mailpart
Content-Transfer-Encoding:UTF-8;
Content-Type: text/plain;charset=\"UTF-8\";
Content-Disposition: attachment; filename=blah-report.csv
`cat $spool_file5`" | /usr/sbin/sendmail -t
}

【问题讨论】:

  • 请问这个帖子和Excel有什么关系?您只是在创建一个电子邮件,据我所知,您提供了正确的Content-Type。有两件事在我看来很奇怪:Content-Transfer-Encoding 真的可以是 UTF-8 吗?我从来没有听说过它,我会使用像 QUOTED-PRINTABLE 这样的东西。此外,我本来希望在Content-Disposition: attachment; ... 之后是一个空行,但在电子邮件方面我并不是真正的专家,所以我在这里可能错了。
  • @user1934428 嗯,这是因为我在 excel 中打开 CSV,想知道如何“告诉 excel”CSV 文件包含 UTF-8 字符集
  • 然后我误解了这个问题(因为你也用“shell”标签来标记它,并显示与将文本文件嵌入邮件标题相关的代码 - 这与控制编码无关这是由 Excel 假设的)。也许你可以相应地重写你的问题,并且只用“excel”标记它。
  • 我对Excel不太了解,这也是一个问题,据我了解,这与编程有关,所以你最好问一下在 Microsoft Office 论坛中。由于没有 100% 的规则,程序如何识别 text 文件的编码(毕竟,CSV 是),我可以想象 Excel 有一个选项,其中 Excel用户可以显式设置编码。但是,您可以尝试一件事:如果文档以 BOM 开头,许多程序会隐式假定 UTF-8,因此我会将 BOM 放在 CSV 文件的开头。

标签: excel shell csv sendmail


【解决方案1】:

这是一个编码问题。一个简单的解决方法是使用 google sheet 打开文件并从 google sheet 另存为 csv。

Windows 中文操作系统使用 GBK 作为默认中文编码。你应该下载中文的excel并通过Option设置编码。

所以你应该将它编码为 GBK 或 GB18130

  • (1) 下载 Open Office(免费且安装速度快,有更高的 文件大小比 Ubuntu 中的 Cals)。

  • (2) 检测您的 CSV 编码。简单地 使用 Open office 打开您的 csv 并选择一种编码方法 显示你的汉字。

  • (3) 将您的 csv 保存到正确的位置 根据您的操作系统进行编码。默认 Windows 编码 中文是GBK,Ubuntu是UTF8。

【讨论】:

    猜你喜欢
    • 2013-11-12
    • 2015-11-05
    • 2012-06-17
    • 2014-09-23
    • 1970-01-01
    • 2015-03-04
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多