環境
問題描述
乙個python資料處理指令碼,功能是一些資料儲存操作。使用了pandas
、sqlalchemy
做資料庫連線。
e1上,任何情況均執行正常。
e2上,出現中文亂碼:
相關知識點
varchar
在sqlserver中,採用單位元組儲存。
nvarchar
在sqlserver中,採用雙位元組儲存。
nvarchar
比varchar
佔空間,但靈活性好。
解決方案
對亂碼的字串變數,做轉換。***.encode('latin-1').decode('gbk'))
。但這樣做就導致這段**在e2上正常,e1上異常。不方便維護。
不使用charset或者charset=utf8
,然後修改sql語句。將varchar
型別的字段使用convert(nvarchar(20), features_name) as features_name
做編碼轉換。跑下來在兩台機器上沒問題。 疑惑
至今沒有搞清楚,為什麼同一套**在兩台機器上無法同時正確執行。在e1上,無論何種設定,均能正確獲取中文資料,而在e2上則不行。
我感覺應該是兩台機器的環境問題,大概率是編碼之類的。但是目前沒有頭緒。
Python 讀取文字檔案到sql server
import json import pymysql import sqlite3 import re import pyodbc import os 載入所需模組 sqlconn pyodbc.connect driver server 伺服器名稱 database 資料庫名稱 連線資料庫 cur...
ISA SERVER日誌存放SQL SERVER中
在預設安裝 isa 2004 或是2006後,將會自動安裝簡易版的 sql server 來存放防火牆與 webproxy 的連線訪問日誌 可是由於 msde 僅限於單機連線的使用 並且在訪問上也有容量大小的限制 因此為了提公升整體 isa 的執行能力 建議可以改由將這些頻繁的日誌檔案訪問 寫入到內...
鏈結sqlserver 安裝sqlserver
在進行部署專案的時候。特別是重做系統之後要注意,最好安裝資料庫,在安裝其他編輯軟體 而且,有乙個特點是先安裝低版本可以安裝高版本,但是你裝高版本後很難安裝高版本 我這有個sqlserver 2008 r2 在安裝時,不要害怕,一般都是預設安裝,讓你操作的時候 也不多,而且,安裝的位置一般都是在系統盤...