cx_oracle访问处理oracle中文乱码问题

cx_oracle访问处理oracle中文乱码问题

问题描述

使用docker打包了centos镜像,编码为gbk,随后访问oracle出现了很多乱码。其原因自然是因为编码不一致,服务器为zhs16gbk,按理说客户端也是gbk应该可以,但是不知道为什么。

解决办法

找了多种方式,最终使用下面这个方式处理好了:

  1. 将dockerfile中设置编码的地方按照如下处理:
RUN yum -y install kde-l10n-Chinese 
    && yum -y reinstall glibc-common 
    && localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

ENV LC_ALL zh_CN.utf8
  1. 其中yum -y reinstall glibc-common可能会报错,尝试后发现去掉这句话也可以。
  2. 在py脚本中加入下面这句话:
import os 
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
原文地址:https://www.cnblogs.com/wswang/p/10172731.html