国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

解決python通過cx_Oracle模塊連接Oracle亂碼的問題

2020-02-15 23:17:36
字體:
來源:轉載
供稿:網友

用python連接Oracle是總是亂碼,最有可能的是oracle客戶端的字符編碼設置不對。

本人是在進行數據插入的時候總是報關鍵字"From"不存在,打印插入的Sql在pl/sql中進行插入,沒有問題。所以,后來從字符集編碼上去考慮和解決問題。

編寫的python腳本中需要加入:

import osos.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

這樣可以保證select出來的中文顯示沒有問題。

要能夠正常的insert和update中文,還需要指定python源文件的字符集密碼和oracle一致。

# -*- coding: utf-8 -*-

示例:

# -*- coding: utf-8 -*- import os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' #或者os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8' import cx_Oracle db = cx_Oracle.connect(username/passwd@host:port/sevicename) cursor = db.cursor() #其他操作  db.commit() db.close() 

客戶端的NLS_LANG設置及編碼轉換

在Oracle客戶端向服務器端提交SQL語句時,Oracle客戶端根據NLS_LANG和數據庫字符集,對從應用程序接傳送過來的字符串編碼進行轉換處理。如果NLS_LANG與數據庫字符集相同,不作轉換,否則要轉換成數據庫字符集并傳送到服務器。服務器在接收到字符串編碼之后,對于普通的CHAR或VARCHAR2類型,直接存儲;對于NCHAR或NVARCHAR2類型,服務器端將其轉換為國家字符集再存儲。

以上這篇解決python通過cx_Oracle模塊連接Oracle亂碼的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三河市| 宣汉县| 德昌县| 望都县| 吴堡县| 龙陵县| 浑源县| 张家港市| 祁连县| 泰来县| 谷城县| 衡阳市| 丰城市| 湖口县| 通化市| 宁海县| 张北县| 田林县| 浦城县| 武山县| 小金县| 天全县| 合肥市| 永靖县| 兴仁县| 嵊泗县| 拉萨市| 甘孜| 利辛县| 邛崃市| 共和县| 绥江县| 武隆县| 江孜县| 米易县| 洮南市| 公安县| 乌苏市| 铜陵市| 石城县| 湛江市|