【问题标题】:Special chars from sqlplus client into AL32UTF8 oracle database从 sqlplus 客户端到 AL32UTF8 oracle 数据库的特殊字符
【发布时间】:2015-04-30 05:06:00
【问题描述】:

我有一个带有一些特殊字符的 SQL 脚本,原始编码是 WE8MSWIN1252,在一个脚本中我有这个字符 'Ç'。当我用这个字符执行脚本时,我的 Oracle 数据库编码是 AL32UTF8,如果客户端编码是 AL32UTF8,我会在数据库中得到一个错误的字符。

有了这个过程,每次需要编译这个脚本的时候,我都需要适配环境变量。

我正在寻找一种更灵活的方法,我希望将环境变量和数据库设置为 AL32UTF8,然后将文件从 ANSI 适配/转换为 UTF8。但我无法执行在数据库中具有正确字符的脚本。

你知道我该怎么做,或者配置一些灵活的东西来执行具有不同特殊字符的脚本而不改变环境变量吗?

谢谢,

【问题讨论】:

    标签: oracle plsql oracle11g oracle10g sqlplus


    【解决方案1】:

    您可以在命令行中完成所有这些操作,也可以将其放入单个 BAT 文件中。

    应该是这样的:

    C:\>chcp 1252
    Active Codepage: 1252.
    
    C:\>set NLS_LANG=.WE8MSWIN1252
    
    C:\>sqlplus user/pwd@db @<your_sql_script_in_ANSI_encoding.sql>
    
    C:\>exit
    

    NLS_LANG 仅在命令行窗口打开时为 WE8MSWIN1252。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-05
      • 1970-01-01
      • 2021-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多