12
返回列表 发新帖
楼主: sunofbeach

PL/SQL查询数据的时候,所有的中文字段都是“靠”字

[复制链接]
论坛徽章:
4
ITPUB元老
日期:2005-04-26 14:47:45授权会员
日期:2005-10-30 17:05:33管理团队2006纪念徽章
日期:2006-04-16 22:44:45会员2006贡献徽章
日期:2006-04-17 13:46:34
11#
发表于 2004-3-16 16:21 | 只看该作者
数据库不能随便改字符集,oracle也不建议修改字符集。
你的问题是客户端的字符集和erp服务器端的字符集设置不同所致,修改一下就可以了。

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2005-04-26 14:47:45授权会员
日期:2005-10-30 17:05:33管理团队2006纪念徽章
日期:2006-04-16 22:44:45会员2006贡献徽章
日期:2006-04-17 13:46:34
12#
发表于 2004-3-16 16:23 | 只看该作者
D:\>sqlplus system/hello

SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 3月 16 16:23:52 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


连接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

Welcome to lancelot's 9i SQL*PLUS!
The time is 2004-03-16 16:23:59
WORKGROUP\LANCELOT>select sysdate from dual;

SYSDATE
----------
16-3月 -04


D:\>set nls_lang=american_america.us7ascii

D:\>sqlplus system/hello

SQL*Plus: Release 9.2.0.1.0 - Production on Tue Mar 16 16:24:43 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

Welcome to lancelot's 9i SQL*PLUS!
The time is 2004-03-16 16:24:43
WORKGROUP\LANCELOT
WORKGROUP\LANCELOTselect sysdate from dual;

SYSDATE
---------
16-MAR-04

使用道具 举报

回复
论坛徽章:
0
13#
 楼主| 发表于 2004-3-16 17:25 | 只看该作者

把NLS_LANG改为SIMPLIFIED CHINESE_CHINA.ZHS16GBK就可以了

谢谢各位!

使用道具 举报

回复
论坛徽章:
0
14#
 楼主| 发表于 2004-3-16 17:36 | 只看该作者

lancelotg大侠

最初由 lancelotg 发布
[B]数据库不能随便改字符集,oracle也不建议修改字符集。
你的问题是客户端的字符集和erp服务器端的字符集设置不同所致,修改一下就可以了。 [/B]

我这次是看了我同事的NLS参数改的,那怎么决定我要改为哪个字符集呢,也就是我怎么知道server端的字符集参数呢?

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2005-04-26 14:47:45授权会员
日期:2005-10-30 17:05:33管理团队2006纪念徽章
日期:2006-04-16 22:44:45会员2006贡献徽章
日期:2006-04-17 13:46:34
15#
发表于 2004-3-16 17:48 | 只看该作者
1。一般你client要访问server上得数据库,那么client得设置要和server上得数据库设置一样。
2。查看server端得字符集,登录server上得数据库,然后运行下面得命令
C:\>sqlplus system/hello

SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 3月 16 17:47:58 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


连接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

Welcome to lancelot's 9i SQL*PLUS!
The time is 2004-03-16 17:47:58
WORKGROUP\LANCELOT>select * from V$NLS_PARAMETERS;

PARAMETER                      VALUE
------------------------------ ------------------------------
NLS_LANGUAGE                   SIMPLIFIED CHINESE
NLS_TERRITORY                  CHINA
NLS_CURRENCY                   RMB
NLS_ISO_CURRENCY               CHINA
NLS_NUMERIC_CHARACTERS         .,
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD-MON-RR
NLS_DATE_LANGUAGE              SIMPLIFIED CHINESE
NLS_CHARACTERSET               ZHS16GBK
NLS_SORT                       BINARY
NLS_TIME_FORMAT                HH.MI.SSXFF AM

PARAMETER                      VALUE
------------------------------ ------------------------------
NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY              RMB
NLS_NCHAR_CHARACTERSET         UTF8
NLS_COMP                       BINARY
NLS_LENGTH_SEMANTICS           BYTE
NLS_NCHAR_CONV_EXCP            FALSE

已选择19行。

WORKGROUP\LANCELOT>

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2005-04-26 14:47:45授权会员
日期:2005-10-30 17:05:33管理团队2006纪念徽章
日期:2006-04-16 22:44:45会员2006贡献徽章
日期:2006-04-17 13:46:34
16#
发表于 2004-3-16 17:50 | 只看该作者
另外一种方法:
WORKGROUP\LANCELOT>select t1.aa||'_'||t2.bb||'.'||t3.cc
  2  from (select VALUE$ aa from sys.props$ where name='NLS_LANGUAGE')t1,(select
VALUE$ bb from sys.props$ where name='NLS_ISO_CURRENCY')t2,(select VALUE$ cc fr
om sys.props$ where name='NLS_CHARACTERSET')t3;

T1.AA||'_'||T2.BB||'.'||T3.CC
--------------------------------------------------------------------------------

AMERICAN_AMERICA.ZHS16GBK

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2005-04-26 14:47:45授权会员
日期:2005-10-30 17:05:33管理团队2006纪念徽章
日期:2006-04-16 22:44:45会员2006贡献徽章
日期:2006-04-17 13:46:34
17#
发表于 2004-3-16 17:52 | 只看该作者
还有一种方法:
WORKGROUP\LANCELOT>select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

使用道具 举报

回复
论坛徽章:
0
18#
 楼主| 发表于 2004-3-17 08:48 | 只看该作者

谢谢lancelotg大侠

非常感谢,让小弟又学了一招,^_^

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
19#
发表于 2004-3-17 12:33 | 只看该作者
^_^

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表