【发布时间】:2016-04-18 08:53:21
【问题描述】:
我有一个通过 System.Data.OracleClient 连接到 oracle 数据库的 .net 应用程序(Winforms 应用程序)。 当我查询数据库时,我看到“?”而不是土耳其字符。但是有一个使用相同数据库(和相同数据库用户)的delphi应用程序可以显示土耳其字符,例如“İ,Ş,Ğ,Ü”等。
我对 toad 和 pl/sql Developer 有同样的问题。我认为delphi应用程序可以显示土耳其字符以在连接字符串中设置额外的参数。(我设置了“encoding=true”但它不起作用)
我运行此查询以显示 nls_lang 值;
select DECODE(parameter, 'NLS_CHARACTERSET', 'CHARACTER SET',
'NLS_LANGUAGE', 'LANGUAGE',
'NLS_TERRITORY', 'TERRITORY') name,
value from v$nls_parameters
WHERE parameter IN ( 'NLS_CHARACTERSET', 'NLS_LANGUAGE', 'NLS_TERRITORY')
这向我展示了这些价值观;
1 LANGUAGE AMERICAN
2 TERRITORY AMERICA
3 CHARACTER SET AL32UTF8
最后,当我更新“?”对于 pl/sql 开发人员上的土耳其字符(例如“Ş”),我的 .net 应用程序显示正确。但我不能替换所有“?”土耳其字符的值。
【问题讨论】: