【发布时间】:2016-11-11 10:32:13
【问题描述】:
我将数据从 Oracle 假脱机到一个 csv 文件。
当我在编辑器中打开 csv 时,所有标志都正确显示。 但在 Excel 或 Kofax 中,文件特殊字符(例如 ß 或 ö) 显示不正确。
是否可以选择缺少的 BOM 字符 文件的开头?如果是,我该怎么做? 如果没有,还有其他可能吗?
最好的问候 帕特里克
【问题讨论】:
标签: oracle utf-8 byte-order-mark spool
我将数据从 Oracle 假脱机到一个 csv 文件。
当我在编辑器中打开 csv 时,所有标志都正确显示。 但在 Excel 或 Kofax 中,文件特殊字符(例如 ß 或 ö) 显示不正确。
是否可以选择缺少的 BOM 字符 文件的开头?如果是,我该怎么做? 如果没有,还有其他可能吗?
最好的问候 帕特里克
【问题讨论】:
标签: oracle utf-8 byte-order-mark spool
我假设您在 Windows 上使用 SQL*Plus 来假脱机数据。
在这种情况下,SQL*Plus 从cmd.exe 继承代码页。这可以用命令chcp 询问,很可能是CP850 或CP437
假脱机文件以这种编码方式写入。虽然 CP850 或 CP437 在控制台中很常见,但几乎没有任何应用程序或编辑器支持它们。
例如,将您的代码页更改为 Windows-1252。但是,您还必须告诉 Oracle(即 Oracle 驱动程序)您正在使用 Windows-1252,这是由 NLS_LANG 环境值完成的:
chcp 1252
set NLS_LANG=GERMAN_GERMANY.WE8MSWIN1252
然后启动您的 SQL*Plus,假脱机文件中的所有内容都应该没问题。
【讨论】: