日期:2014-05-17  浏览次数:20890 次

oracle中文乱码的问题
首先本机和服务器的字符集都为american_america.us7ascii
我用了一个存储过程,使用游标返回值

1.在表A中存储有中文字段column1
open cs for select column1 from a ;

这样的语句,在程序中(asp.net)就可以正确获取到中文的字符

2.直接赋值中文
open cs for select '成功' from dual ; 

这样的语句,在程序中就是乱码

请问,这样是为什么呢?!!

------解决方案--------------------
你用的是什么编辑器阿,PL/SQL吗?
如果是,调整一下里面是字体试试看。
Tool > Preferences > User Interface > Font 
你把Editor,Grid里面的script改成CHINESE得。
参照下面的截图:


------解决方案--------------------
如果创建存储过程的时候,客户端的字符集与数据库不一致,那么保存的存储过程就是乱码,检查下存储过程内容:
SELECT DBMS_METADATA.GET_DDL('PROCEDURE','P_TEST1') FROM DUAL;

引用:
首先本机和服务器的字符集都为american_america.us7ascii
我用了一个存储过程,使用游标返回值

1.在表A中存储有中文字段column1
open cs for select column1 from a ;

这样的语句,在程序中(asp.net)就可以正确获取到中文的字符

2.直接赋值中文
open cs for select '成功' from du……