各位大师请帮帮忙 。小弟在这感激不尽
linux 下的 oracle10g
向数据库一个表中添加汉字数据
插入sql :insert into c_menu (C_CODE, C_NAME, C_URL, C_LEVEL, C_NOTE)
values ('001', '货源管理', '', 1, '');
查询的时候出现的乱码
001 ????
还有就是 我在
查看Oracel服务器端的字符集:
select userenv('language') from dual;
我的结果是:
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1怎么解决?
注意:是linux下!! 1.jpg (13.49 KB)
2009-5-27 10:39
linux 下的 oracle10g
向数据库一个表中添加汉字数据
插入sql :insert into c_menu (C_CODE, C_NAME, C_URL, C_LEVEL, C_NOTE)
values ('001', '货源管理', '', 1, '');
查询的时候出现的乱码
001 ????
还有就是 我在
查看Oracel服务器端的字符集:
select userenv('language') from dual;
我的结果是:
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1怎么解决?
注意:是linux下!! 1.jpg (13.49 KB)
2009-5-27 10:39
这个语句看得是你OS的环境变量值。操作:
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".AL32UTF8还有你数据库的字符集是什么?
如果你的文本是 GBK的,而且环境变量是 GBK,数据库字符集也是GBK,那么一切顺利,不会有乱码
如果你的文本是 UTF-8的,且环境变量也是UTF-8的,那么也没有问题,oracle会转换成GBK
,如果你的文本是UTF-8的,但是环境变量是GBK,也就是你明明是UTF-8,却告诉了 Oracle数据库,“我是GBK",撒谎了于是oacle会相信你,并且认为你的文本的字符集和数据库字符集是一样的,无需转换,此时就出现乱码了