将中文符号粘贴到oracle数据库

将中文符号粘贴到oracle数据库,oracle,unicode,encoding,Oracle,Unicode,Encoding,我正在尝试将中文符号粘贴到oracle DB: NLS_NCHAR_CHARACTERSET = 'UTF8' NLS_LANGUAGE = 'RUSSIAN' NLS_TERRITORY = 'RUSSIA' NLS_CURRENCY = '?.' NLS_ISO_CURRENCY = 'RUSSIA' NLS_NUMERIC_CHARACTERS = '','' NLS_CHARACTERSET = 'CL8MSWIN1251' NLS_CALENDAR = 'GREGORIAN' NLS_

我正在尝试将中文符号粘贴到oracle DB:

NLS_NCHAR_CHARACTERSET = 'UTF8'
NLS_LANGUAGE = 'RUSSIAN'
NLS_TERRITORY = 'RUSSIA'
NLS_CURRENCY = '?.'
NLS_ISO_CURRENCY = 'RUSSIA'
NLS_NUMERIC_CHARACTERS = '',''
NLS_CHARACTERSET = 'CL8MSWIN1251'
NLS_CALENDAR = 'GREGORIAN'
NLS_DATE_FORMAT = 'DD.MM.RR'
NLS_DATE_LANGUAGE = 'RUSSIAN'
NLS_SORT = 'RUSSIAN'
NLS_TIME_FORMAT = 'HH24:MI:SSXFF'
NLS_TIMESTAMP_FORMAT = 'DD.MM.RR HH24:MI:SSXFF'
NLS_TIME_TZ_FORMAT = 'HH24:MI:SSXFF TZR'
NLS_TIMESTAMP_TZ_FORMAT = 'DD.MM.RR HH24:MI:SSXFF TZR'
NLS_DUAL_CURRENCY = '?.'
NLS_COMP = 'BINARY'
NLS_LENGTH_SEMANTICS = 'BYTE'
NLS_NCHAR_CONV_EXCP = 'FALSE'
NLS_RDBMS_VERSION = '11.2.0.4.0'
查询:

update my_table set message = '© § english пепелац 百' where id = 252615
消息字段类型为NVARCHAR2

在结果字段中包含:“)§englishППаааа?”。没有中国符号


但如果我粘贴百' 手动打开my_表,在PL/SQL Developer中进行编辑,将值粘贴到单元格并提交,它可以工作,db返回:')§englishПППаа百'

我尝试将NLS_LANG设置为.zhs16gbk、.AL32UTF8、简体中文_CHINA.zhs16gbk和其他…,但没有帮助

PL/SQL Developer 10.0.5.1710; Windows7 64位6.1构建7601服务包1; oracle客户端11.2.0

帮助ヽ°□° ノ

将NLS_LANG值设置为俄语。AL32UTF8语言和地区由您决定,只需确保。AL32UTF8

然后在PL/SQLDeveloper中转到配置->首选项->文件->格式->编码

并始终设置为UTF8

当您使用Always ANSI或Autodetect时,PL/SQL Developer会将SQL脚本保存在ANSI代码页中,很可能是CP1252 see,它不支持中文字符

注意,是Oracle字符集AL32UTF8。Oracle字符集UTF8表示略有不同


不要在意数据库国家字符集是CESU-8,而您的客户端字符集是UTF-8,Oracle驱动程序进行自动转换-这是NLS_LANG设置的主要目的。

您使用哪种工具/驱动程序?粘贴是什么意思百' 在DBMS中手动符号?在PL/SQL Developer中打开my_表进行编辑,将值粘贴到单元格并提交。