2017-03-08 896 views
0

我无法在oracle 11g数据库中存储特殊字符,如ÐǶĄ§å,它将存储的信息显示为??????。我已经通过了使用UTF-8编码,并检查使用无法在Oracle 11g数据库中存储特殊字符

select * from v$nls_parameters where parameter like '%CHARACTERSET%'; 

它给人的输出

NLS_CHARACTERSET AL32UTF8 
NLS_NCHAR_CHARACTERSET AL16UTF16 

有没有在数据库中存储这些特殊字符的任意一种为支持charactersets数据库? 任何帮助将不胜感激。

+0

您确定无法存储它们吗?更有可能的是,您无法显示它们。尝试转储十六进制,看看他们看起来是否合理。 – bmargulies

+0

是的,我确定。我知道显示问题。我可以通过oracle中的相应代码来识别这些字符。 – optmisticcom

+0

那么,你最好发布你用来在Oracle中存储数据的代码,否则没有人能够在这里帮助你。 – bmargulies

回答

-1

将它们转换为二进制,然后将它们存储在bfile中

+0

将字符串转换为二进制文件可以轻松完成,但主要任务是从该二进制文件恢复原始字符串。 – optmisticcom

+0

你可以再次检索二进制文件并将其转换为字符串,让我知道你还有什么要求 –