使用PLD进行数据库编程,结果在进行dbms_output.put输出的时候,里面的中文字符会输出成乱码! 而在用select查询表中数据时,表中的中文字符就能正确显示。 上网查阅资料,结果说是什么字符集的问题,叫修改注册表里NLS_LANG的值,
我注册表的默认值是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,改成AMERICAN_AMERICA.UTF8或者AMERICAN_AMERICA.ZHS16GBK都一样的dbms出来的中文字符还是乱码!程序代码:
declare
a number:= 3;
b number:= 4;
c number;
begin
c := (a*b)/(a+b);
dbms_output.put_line('结果为:' || c);
exception
when zero_divide then
dbms_output.put_line('除数不能为0');
end;显示结果:���Ϊ��1.71428571428571428571428571428571428571请教各位大侠,有什么解决方法,小弟感激不尽!
我注册表的默认值是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,改成AMERICAN_AMERICA.UTF8或者AMERICAN_AMERICA.ZHS16GBK都一样的dbms出来的中文字符还是乱码!程序代码:
declare
a number:= 3;
b number:= 4;
c number;
begin
c := (a*b)/(a+b);
dbms_output.put_line('结果为:' || c);
exception
when zero_divide then
dbms_output.put_line('除数不能为0');
end;显示结果:���Ϊ��1.71428571428571428571428571428571428571请教各位大侠,有什么解决方法,小弟感激不尽!
解决方案 »
- 数据记录19w,查询速度30s,为什么这么慢
- 如何才算恰当的退出循环
- LINUX AS5安装ORALCE 9I时报Font specified in font.properties not found [-b&h-lucidaty
- golden gate用过的请关注...
- 如何把一个vector的数据传给存储过程
- 第一次写Oracle触发器,不太会写,请帮忙啊。
- 如何写触发器,使子表在父表新建记录时也同时新建记录
- oracle9i的sql-plus中,
- 请各位老大看看小弟如何发展好
- 数据倒出总是失败
- 两套不同软件同时从一个oracle数据库中的同一用户中提取、读写数据的问题
- ORA错误堆栈(00600[kjhn_post_ha_alert0-862])
a.查询服务器端配置的字符集。在sqlplus中以dba用户执行:
select tab1.aa||'_'||tab2.bb||'.'||tab3.cc from (select VALUE$ aa from sys.props$ where name='NLS_LANGUAGE')tab1,(select VALUE$ bb from sys.props$ where name='NLS_ISO_CURRENCY')tab2,(select VALUE$ cc from sys.props$ where name='NLS_CHARACTERSET')tab3;
b.在客户端的注册表HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0中,如无系统变量NLS_LANG,则“新建”->“字符串”,重命名为“NLS_LANG”,并赋值为上述查询变量的值(注意引号内的字符应大写),再查看时不需要重启Oracle。
你说的这个方法也试过,但是依然无效,dbms出来的还是乱码! 请问还有其他方法吗?
如果那个下面不是乱码,就和你的plsql的设置有关了
试试SQLPLUS 情况是否一致 诺不是重新安装plsql
--跟你的系统环境米有关系了
--是你的工具问题,设置工具的font
网上是有种方法说是设置font 字体,但是我的Developer没有User那个选项,也没有font选项!难道只有重装Developer吗?