暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle报告11g显示存储在Oracle数据库12c中的nvarchar2列中的垃圾字符

askTom 2018-03-17
318

问题描述

亲爱的先生,

我们的Oracle 12c数据库和Weblogic 11g托管在SunOS 5.11 11.2环境中。

来自nls_database_parameters的输出如下:

Nls_rdbms _ 版本12.1.0.2.0
Nls_nchar_conv_exp假
Nls_length _ 语义字节
NLS_COMP二进制
NLS_DUAL_CURRENCY $
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
时间格式HH.MI.SSXFF AM
Nls _ 排序二进制
美国语言
日期格式DD-MON-RR
Nls _ 日历格里高利
NLS_NUMERIC_CHARACTERS。,
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_CHARACTERSET AL32UTF8
Nls_iso _ 货币美国
Nls _ 货币 $
Nls _ 美国领土
美国语言

我们正在使用Weblogic 11g和表格和报告11g为我们的应用程序。我们能够使用表单将数据存储在 “印地语” 语言的nvarchar2列中,并且表单也正确显示来自nvarchar2列的印地语数据。我们已经在中设置了NLS_LANG参数。为此,weblogic用户的个人资料为AMERICAN_AMERICA.UTF8。

我们的应用程序在Windows 7客户端计算机上的Internet Explorer中运行。我们没有在客户端计算机上设置NLS_LANG参数。所有客户端计算机上的表单都正确显示了存储印地语文本的nvarchar2列中的数据。

但是我们包含nvarchar2列数据的报告显示了垃圾字符。report似乎没有从中提取NLS_LANG参数。weblogic的简介。

请指导我的解决方案。

问候。

阿洛克·瓦什尼

2018年3月20日更新

报告中显示的字符是
¿

而表格列nvarchar2中的数据为:

请帮忙。

专家解答

这些特定字符 (反向问号) 意味着NLS_LANG变量被设置为。WE8ISO8859P1或。WE8MSWIN1252而不是所需的。AL32UTF8

检查配置文档 (https://docs.oracle.com/middleware/11119/classic/use-reports/pbr_conf002.htm#i1007158),然后查看在哪里设置NLS_LANG变量,例如:




「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论