【发布时间】:2018-02-13 21:56:58
【问题描述】:
当我使用 sqlplus 或任何其他工具编译时,如何将特殊字符保留在我的包中?
NLS_CHARACTERSET : WE8MSWIN1252
客户角色的设置:未知
问题是:数据表示
操作系统和数据库:UNIX \ Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit ProductionOracle Database 12c 企业版版本 12.1.0.2.0 - 64 位生产
PL/SQL 版本 12.1.0.2.0 - 生产
核心 12.1.0.2.0 生产
适用于 Linux 的 TNS:版本 12.1.0.2.0 - 生产
NLSRTL 版本 12.1.0.2.0 - 生产
例子:
CREATE OR REPLACE PACKAGE BODY pkg1
AS
procedure sp
IS
v_var VARCHAR2(100);
BEGIN
v_var := '**último**';
END;
END;
当我描述包裹时,看起来像这样:
CREATE OR REPLACE PACKAGE BODY HR.pkg1
AS
procedure sp
IS
v_var VARCHAR2(100);
BEGIN
v_var := '**£ltimo**';
END;
END;
【问题讨论】:
-
那么问题真的是“客户角色的设定:未知”吗?您不知道 NLS_LANG 设置或操作系统字符集,还是两者都知道?数据字典中的字符串是否正确(转储它会告诉您)并且仅显示不正确 - 您似乎建议但您是如何建立它的?
标签: plsql character-encoding character oracle12c database-administration