SQL Developer Special Chars

问题描述 投票:0回答:1

我遇到了Oracle数据库和ASCII字符编码问题。

我正在尝试在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

感谢您的帮助。

oracle character-encoding ascii oracle-sqldeveloper non-ascii-characters
1个回答
0
投票

你必须检查你注册的Nls_lang和数据库字符集,它们似乎是不同的。

例:

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

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

从注册表转到oracle注册表和在nls_lang中添加值qazxsw poi(作为示例)与数据库中的相似。

顺便说一下,从控制面板的语言来看它也是问题,如果你想使用法语字符,最好将它指定为法语。 (控制面板\时钟,语言和区域...然后在管理选项卡中)

© www.soinside.com 2019 - 2024. All rights reserved.