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

首頁 > 編程 > Python > 正文

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

2020-01-04 14:18:47
字體:
來源:轉載
供稿:網友

用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亂碼的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临桂县| 九龙县| 斗六市| 平塘县| 西城区| 穆棱市| 湖口县| 贡嘎县| 沅江市| 盐源县| 中西区| 彭阳县| 延庆县| 临沂市| 齐齐哈尔市| 泸水县| 廊坊市| 隆安县| 罗江县| 大新县| 河源市| 襄城县| 永嘉县| 张家口市| 兴海县| 上杭县| 民勤县| 兴文县| 吉木萨尔县| 泽州县| 京山县| 镇坪县| 迁安市| 夹江县| 富民县| 吉安县| 巴林左旗| 淮阳县| 白城市| 湾仔区| 博客|