SQL Developer特殊字符

时间:2018-10-24 07:19:02

标签: oracle character-encoding ascii oracle-sqldeveloper non-ascii-characters

我在使用Oracle数据库和ASCII char编码时遇到问题。

我正在尝试使用包含特殊字符(如á,é,í,ó,ú,(西班牙语)等)的字符串在Varchar2()列上进行更新语句。

例如,每次我从该列中恢复数据时,我都会看到“髇”或“髇”而不是“ó”。

我正在写更新句子,例如:

UPDATE TABLE_1
SET DESCRIPTION = 'THIS IS A TEXT WITH SPECIAL CHAR ó ÉND'
WHERE ID = '1';

当我这样做时:

SELECT ID ||' | '|| DESCRIPTION FROM TABLE_1 WHERE ID = '1';'

我知道了

1 | THIS IS A TEXT WITH SPECIAL CHAR 髇 END

我正在使用SQL Developer 4.0.3版

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您必须检查注册表中的Nlslang和数据库字符集,看来它们是不同的。

示例:

SELECT * FROM v$nls_parameters WHERE parameter LIKE 'NLS_CHARACTERSET'
/

PARAMETER                                                        VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
NLS_CHARACTERSET                                                 AL32UTF8

从registery转到oracle registery,并在nlslang中添加值American_America.Al32UTF8(例如),类似于数据库中的值。

通过某种方式,也可以从控制面板中的语言发出问题,如果要使用法语字符,最好将其分配为法语。 (控制面板\时钟,语言和区域...,然后在管理标签中)