【问题标题】:How to write excel file with special characters through Perl script?如何通过 Perl 脚本编写带有特殊字符的 excel 文件?
【发布时间】:2014-04-06 17:00:47
【问题描述】:

我正在通过 perl 代码编写 Excel 文件。当我在 XML 文件中插入数据并在任何浏览器中查看时,我看到带有特殊字符的正确数据,但是当我在 Excel 文件中写入相同的数据时,它显示垃圾字符。 例如: (浏览器上 XML 文件中的单词)Gràcia -(Excel 文件中的单词)Grà cia

我使用 'Spreadsheet::XLSX' 来读取 excel 和 'Excel::Writer::XLSX' 来编写 excel。

在查找excel字段的编码格式方面也需要帮助。

你有什么想法吗?提前致谢。

【问题讨论】:

    标签: excel perl


    【解决方案1】:

    这似乎很像 UTF-8 到 iso-8859-1 的转换出错 - 似乎包含 UTF-8 但未标记为 UTF-8 的字符串正在传递给 $worksheet->write()。由于http://metacpan.org/pod/Excel::Writer::XLSX#UNICODE-IN-EXCEL 声称可以正确处理unicode,这似乎是您的输入字符串的问题,而不是write 方法本身。

    由于您没有发布任何代码,也没有告诉我们您的字符串来自哪里,所以我不知道为什么这些字符串没有正确标记。

    你可能会侥幸逃脱

    Encode::_utf8_on($str)
    

    在将您的字符串传递给$worksheet->write() 之前,但这也可能会破坏其他东西,如果您的所有字符串都不是真正的utf-8。基本上答案是“在您阅读字符串时立即获取字符串上的 utf-8 标志”。

    【讨论】:

    • 您好,感谢您的帮助。实际上我是在插入从网站上报废的数据。这解决了我的问题。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2017-09-12
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多