【问题标题】:Oracle spool UTF-8 without BOM at beginning of file文件开头没有 BOM 的 Oracle 假脱机 UTF-8
【发布时间】:2016-11-11 10:32:13
【问题描述】:

我将数据从 Oracle 假脱机到一个 csv 文件。

当我在编辑器中打开 csv 时,所有标志都正确显示。 但在 Excel 或 Kofax 中,文件特殊字符(例如 ß 或 ö) 显示不正确。

是否可以选择缺少的 BOM 字符 文件的开头?如果是,我该怎么做? 如果没有,还有其他可能吗?

最好的问候 帕特里克

【问题讨论】:

    标签: oracle utf-8 byte-order-mark spool


    【解决方案1】:

    我假设您在 Windows 上使用 SQL*Plus 来假脱机数据。

    在这种情况下,SQL*Plus 从cmd.exe 继承代码页。这可以用命令chcp 询问,很可能是CP850CP437

    假脱机文件以这种编码方式写入。虽然 CP850 或 CP437 在控制台中很常见,但几乎没有任何应用程序或编辑器支持它们。

    例如,将您的代码页更改为 Windows-1252。但是,您还必须告诉 Oracle(即 Oracle 驱动程序)您正在使用 Windows-1252,这是由 NLS_LANG 环境值完成的:

    chcp 1252
    set NLS_LANG=GERMAN_GERMANY.WE8MSWIN1252
    

    然后启动您的 SQL*Plus,假脱机文件中的所有内容都应该没问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-10
      • 2012-10-20
      • 1970-01-01
      • 2016-05-04
      • 2016-12-27
      • 1970-01-01
      相关资源
      最近更新 更多