㈠ plsql嫖猚sv格式为什么是乱码
一、pl/sql developer 中文字段显示乱码
原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的。
二、查看和修改oracle数据库字符集:
select userenv('language') from al;
查询结果:
SIMPLIFIED CHINESE_CHINA.AL32UTF8
--修改oracle数据库字符集:(在SQL Plus中)
sql> conn / as sysdba;
sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 bytes
redo buffers 667648 bytes
database mounted.
sql> alter system enable restricted session;
system altered.
sql> alter system set job_queue_processes=0;
system altered.
sql> alter system set aq_tm_processes=0;
system altered.
sql> alter database open;
database altered.
sql> alter database character set internal_use JA16SJIS;
sql> shutdown immediate;
sql> startup;
三、修改pl/sql developer 的编码格式:
在windows中创 建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,
然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 pl/sql developer。其它字符集设置同上
㈡ plsql 中文乱码是什么意思
查看迹茄即可:凯州悉
1、查看盯乎数据的编码(语句:select * from v$nls_parameters)。
㈢ plsql developer出现中文乱码。
PLSQL Developer中文显示乱码是因为Oracle数据库所用的编码和PLSQL Developer所用的编码不同所导致的。
解决方法:
1. 先查询Oracle所用的编码
selectuserenv('language')fromal;
- 2. 设置PLSQL 的所用编码为第1步查询得到的编码格式
新建一个环境变量: NLS_LANG
例如:
3. 重启 PLSQL 问题得到解决
㈣ plsql索性名称乱码的原因
查看一些数据库服务器和客户端的额字符集有没有不同的:
复制代码
代码如下:
select
*
from
nls_database_parameters;
select
*
from
nls_instance_parameters;
select
*
from
v$nls_parameters
t
where
t.PARAMETER
='NLS_LANGUAGE'
or
t.PARAMETER
='NLS_CHARACTERSET';
select
*
from
nls_session_parameters;
1.设置本地客户端编码:
进入
我的电脑,属性,高级,环境变量,添加2项:
LANG=zh_CN.GBK
NLS_LANG="SIMPLIFIED
CHINESE_CHINA.ZHS16GBK"
2.更加直接的方法就是在plsql的安装文件下创建一个txt文件
复制代码
代码如下:
set
nls_lang=simplified
chinese_china.ZHS16GBK
PLSQLDev.exe
然后重命名为bat可执行文件。将上面的nls_lang配置到plsql中去。
㈤ 怎么把plsql里面的数据乱码
开始-运行-输入regedit-回车进入注册表,依次单击HKEY_LOCAL_MACHINE--->SOFTWARE ---> ORACLE--->KEY_OraDb11g_home1(不同版本的Oracle显示的都不太一样,但都会包含home这个单词),找到“NLS_LANG”,查看数值数据是否为:“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,如果不是就将它设置为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK。”
㈥ plsql连接oracle数据库查询汉子显示乱码
打开PLSQL
㈦ plsql有乱码
机器环境同你安装的客户端文件环境不同,或者数据库的文件系统与你客户端的文件系统不通,导致乱码的出现。应该只针对汉字,英文字符或数字不会有问题。
㈧ sqlplus运行出现中文乱码怎么解决
在用PLSQL登录oracle数据库时可能遇到报错如下:
数据库字符集(ZHS16GBK)和客户端字符集(2%)是不同的,字符集转化可能会造成不可预期的后果 不管错误信息中你的数据库字符集是什么,都是由于数据库服务端和你的客户端字符集不统一造成的。
NLS_LANG参数
影响Oracle数据库字符集最重要的参数是NLS_LANG参数。
它的格式如下: NLS_LANG =
language_territory.charset
它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。
其中:
1. Language: 指定服务器消息的语言, 影响提示信息是中文还是英文
2. Territory: 指定服务器的日期和数字格式,
3. Charset: 指定字符集。
我电脑是
:AMERICAN_AMERICA.ZHS16GBK
可以通过以下方法解决:
1. 查询数据库服务端的字符集
select * from nls_database_parameters 可以分别查出字符集各组成部分的值
2、服务器端结果: AMERICAN_AMERICA.ZHS16GBK
或者用 select userenv(‘language’) from al 可以整体查出。
也可以用 select * from nls_instance_parameters 查看你客户端的字符集
3、修改客户端的字符集
客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。
如果不一致,就得修改客户端的字符集,修改为同server端相同的字符集。
在这里我直接新增环境变量NLS_LANG,设置为AMERICAN_AMERICA.ZHS16GBK
---查询sql,中文已经不乱码了