oracle乱码记录

plsql中显示正常,查询到的结果乱码

 

1.获得服务端编码

select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';

select userenv('language') from dual;

 

 

 2.获得客户端编码

select * from nls_instance_parameters where parameter='NLS_LANGUAGE';

 

3.检查环境变量编码

 

4.将程序中编码设置成服务端一致

import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK'

依旧乱码,需要encode('gbk')才能显示,并没什么卵用

 

5.将程序中编码设置成plsql一致

os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8'

数据正常,显示正常,虽然不太明白,但大概就是这么弄的

 

posted @ 2018-08-31 16:39  吃饭睡觉打逗逗  阅读(206)  评论(1编辑  收藏  举报