- 8
- 0
- 约1.88千字
- 约 5页
- 2020-04-02 发布于湖南
- 举报
PL/SQL向Oracle数据库输入中文后变为问号 和 启动PL/SQL时提示NLS_LANG在客户端不能确定的解决办法
工作需要,最近在VM虚拟机里安装了Redhat Linux系统,并在Redhat里安装了Oracle10.5,接着在本地Win7系统里,通过安装Oracle Instant Client客户端和PL/SQL Developer工具,来访问Oracle进行SQL操作。但一直遇到一个很奇怪的问题,通过PL/SQL Developer工具,不管是通过Insert into 插入的,或者通过菜单:工具-ODBC导入器导入的数据,只要包含中文的值,查询时都显示其变为“?”问号了(图1)。
图 SEQ 图 \* ARABIC 1
上网了解到这跟字符集有关,Oracle安装和导入数据时,需要Oracle的Server服务器、Client客户端以及安装环境三者的字符集编码一致,否则就会出现乱码问题。如下图2所示,Oracle数据库的区域语言、字符集和安装环境的区域语言、字符集设置不一致,导致Oracle中文提示变为乱码:
图 SEQ 图 \* ARABIC 2
通过语句:
Select * from V$NLS_PARAMETERS where PARAMETER=NLS_CHARACTERSET;
Select USERENV(LANGUAGE) from DUAL;
原创力文档

文档评论(0)