【发布时间】:2016-05-06 04:02:34
【问题描述】:
我遇到了一个问题,我无法让这个符号“℗”在 .tsv 文件中呈现。我正在使用 powershell 将数据添加到具有版权信息的 .tsv 中,因此我需要正确复制它。我使用add-content -path C:\blah 并在末尾包含-encoding 参数,但我尝试过的所有编码选择都无法呈现此录音版权符号。有人知道这是否可行吗? UTF8 和 UTF32 正确地呈现 © 符号,物有所值。还有一点好笑的是,Powershell ISE 可以正确渲染符号。
感谢您的帮助。
编辑:我现在在想这可能只是 .tsv 文件的限制?我刚刚尝试在excel中打开.tsv,将“℗”符号粘贴到一个空单元格中,当我保存并重新打开文件时,“℗”被替换为“?”。
编辑 2:如果我使用 import-csv -path -delimiter 并导入 .tsv,则该符号会在 Powershell 中正确呈现。如果可能的话,我希望它能够在 Excel 中正确呈现。我也尝试使用谷歌表格加载它,但它有同样的问题。
【问题讨论】:
-
如果你在 PowerShell 中使用编码编写它,然后在 PowerShell 中使用相同的编码读取它,它看起来是否正确呈现?也许是您用来查看它的应用程序有问题?
-
这不是 tsv 的限制,在 utf8 hex 中
31 09 e2 84 97 09 33 0a转换为1<tab>℗<tab>3。 -
@Briantist 我不确定这是否满足您的问题,但是是的,我可以让符号在 PowerShell 控制台(和脚本窗口)中呈现。 Andrey,还有什么我可以尝试的可以帮助我的吗?是否可以将该字符显式输入为十六进制?也许这会有所帮助。另外,为了更多信息,我正在使用 Excel 打开 .tsv。如果我直接复制并粘贴到 Excel 中,Excel 可以正确呈现符号。
-
@MatthewGoode 也许 Excel 没有正确读取文件编码?听起来 PowerShell 正在做它应该做的事情。如果你使用 Unicode 怎么办?
-
这个discussion 可能会有所帮助。看来这是一个Excel问题。其他程序,例如LibreOffice 和 R 对这样的文件没有任何问题。
标签: csv powershell encoding