我想问您关于一件事或只是您的观点的帮助。
我们在PL / SQL中的脚本可以正常工作。但是现在,当我要运行它时,它无法正确设置诸如(ěščěščěřěščřěš
)之类的捷克字。
我在此处的stackoverflow中阅读了将NCHAR
添加到代码前面的操作,因此我这样做了,并且只有在将这段代码直接放入Toad中供Oracle进行控制台时,它才起作用。但是,当我想为每个应用程序上载/运行此脚本时,我们会看到 ???? 而不是正确的字母。
我已经检查了很多次UTF-8,我在许多编码之间进行了切换,并测试了我在记事本,PSPadd中尝试过的方法,但没有任何效果。因此,这一定与该文件的编码属性有关吗?
插入语句
INSERT INTO OUR_TABLE ( Client_No, Contact_Type,
Postal_Code, Address) Values ('999999','TTT','CZ',RPAD(N'Vladimír
Müller', 35) ||RPAD(N'Kovozal s.r.o.', 35) || RPAD(N'Zálší 74', 35) ||
RPAD(N'565 01 Zálší', 35));
如果没有N
(NCHAR
),旧脚本可以很好地工作。但是现在没有。我认为除了问一些Oracle管理员之外,没有其他解决方案吗?
我再说一次N
和RPAD
可以在控制台中找到,但不允许管理员在控制台中运行此脚本:他们必须以文件形式接收数据。
你会怎么做?
答案 0 :(得分:1)
UNIX和TOAD中的SQL客户端不同。您在IDE中使用了不同的NLS_LANG
( UTF16 ),这使您相信显示了错误的字符。
NLS_LANG
更改为 UTF8 。