python3在oracle插入中文编码问题

正常读取

  • 读取解决中文乱码,修改一下变量保持和oracle一致
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
  • 查看oracle的NLS_LANG
select * from V$NLS_PARAMETERS;
select userenv(language) from dual;

正常insert和update

  • 需要修改os.py源文件:C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib
  • 把字符集变量加进去声明的下面就可以了
    在这里插入图片描述

修改oracle编码的方法

sqlplus / as sysdba

方法一

UPDATE PROPS$ SET VALUE$='ZHS16GBK' WHERE NAME='NLS_CHARACTERSET';
shutdown immediate;
startup;

方法二

shutdown immediate;
startup mount;
alter session set sql_trace=true;
alter system enable restricted session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
alter database character set internal_use utf8;
shutdown immediate;
startup;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值