【发布时间】:2019-06-07 03:18:11
【问题描述】:
我在使用 Microsoft Excel 和我生成的“文本文件 - csv”/“文本文件 - 选项卡”时遇到问题。
所有应用程序都看到 UTF-8 编码并与德语变音符号 (äöüßÄÖÜ) 一起使用。
Notepad++ (Windows 7) 打开文件并显示所有正确
编辑器 (Windows 7) 打开文件并显示所有正确
只有..... Excel 以错误的编码打开文件(如果您在没有导入选项对话框的情况下使用它)并破坏所有德语变音符号。
我在 excel 首选项中没有找到避免此问题的选项 - 也许我是盲人,或者微软在 excel 方面做得不好。
XSLT 中是否有办法更改任何内容,excel 将正确完成工作(没有导入选项对话框 - 我知道,如果您在此对话框中为它们提供编码,这可行)
在示例“München”中是正确的,但 excel 给了我错误的结果。我无法发布 Excel 结果 - 在输入字段中出现错误。
我只在 XSLT 1.0 中工作
<?xml version="1.0" encoding="UTF-8"?>
<root>
<table name="test">
<row>
<field attr3="name">München</field>
</row>
</table>
</root>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="1.0">
<xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
<xsl:template match="/">
<xsl:value-of select="root/table[@name = 'test']/row/field[@attr3 = 'name']"/>
</xsl:template>
</xsl:stylesheet>
结果在文件系统中保存为 .txt。 我还尝试了 .csv 和 .tab 之类的格式 - 都不适用于 excel -> 但始终在 notepad++/editor/.... 只有 excel 中的“导入对话框”以正确的形式提供字符 - 但用户想要双击文件。
【问题讨论】:
-
这与 XSLT 无关,与 Excel 无关。您可以通过在文本编辑器中创建一个新文件、输入
München并使用 UTF-8 编码保存它来验证这一点。然后看看你在 Excel 中打开它时会得到什么。 -
谢谢你的解释 -> 但是如何解决这个问题?我是第一个遇到这个问题的人吗?有没有办法解决这个问题?
-
我不知道。我不使用 Excel。我建议您在 Super User 上提问(并保留 XSLT 部分)。
-
至于解决方法,您可以尝试生成 Excel 2002/2003 XML 格式的文件,看看是否可行。
-
在 Notepad++ 中打开文件,然后用 BOM 将编码更改为 UTF-8,然后重新保存文件。 Excel 假定没有 BOM 的文件以 ANSI 编码进行编码,该编码因区域设置而异。
标签: excel xml csv xslt encoding