如何在oracle中存储和检索中文字符

时间:2014-05-02 08:57:38

标签: oracle oracle11g oracle10g

我要求在DB中存储中文字符。 我尝试过这样做,引用信息可用的stackoverflow但是无法成功。

如果我错过了什么,请帮帮我。

我创建了一个表:

 create table test_chinese_characters(col1 varchar2(50),col2 nvarchar2(50));

触发了一个插入声明:

insert into test_chinese_characters(col1,col2) values('漢','漢');

我在DB中可以看到的数据:奇怪的东西。当我存储或检索中文字符时,如何查看中文字符。

NLS_parameters details :
NLS_CHARACTERSET =  WE8ISO8859P1
NLS_NCHAR_CHARACTERSET = UTF8                

上述测试表列的转储功能导致:

col1 :  Typ=1 Len=1: 191 
col2 :  Typ=1 Len=2: 194,191

先谢谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试将NLS_LANG设置为CHINESE_CHINA.WE8ISO8859P1

如果您想从代码级别进行操作,请尝试以下操作:

Environment.SetEnvironmentVariable("NLS_LANG", "CHINESE_CHINA.WE8ISO8859P1", EnvironmentVariableTarget.Process)