本文目錄一覽:
- 1、初學python,在用mssql模塊連接mssql資料庫時出現問題,求高手指點。
- 2、python3連接MSSQL資料庫 中文亂碼怎麼解決
- 3、本人在使用python連接資料庫MS SQL時遇到下列問題:請指導,謝謝!
- 4、請問python主要應用領域是什麼,哪方面用的多了….
初學python,在用mssql模塊連接mssql資料庫時出現問題,求高手指點。
根據自身情況設置連接編碼:
GB18030 GB2312 或者 UTF-8 等
conn=pymssql.connect(host=”.”,user=”sa”,password=”123456″,database=”ddd”,charset=”GB2312″)
python3連接MSSQL資料庫 中文亂碼怎麼解決
以前用php連mssqy時也經常出現中文亂碼(中文變問號)的問題,那時就明白是編碼沒設置好導航,現在的Python連mssql資料庫也同樣出現這問題,問題一樣,解決的辦法當然也會相似,現在我們來看看解決方法。
python一直對中文支持的不好,最近老遇到編碼問題,而且幾乎沒有通用的方案來解決這個問題,但是對常見的方法都試過之後,發現還是可以解決的,下面總結了常用的支持中文的編碼問題(這些方法中可能其中一個就能解決問題,也可能是多個組合)。
(1)、首先,要保證文件的開頭要加上編碼設置來說明文件的編碼
代碼如下
複製代碼
#encoding=utf-8
(2)、然後,在連接數據的連接參數里加上字符集說明查詢出的結果的編碼,這個不加的後果可能是查詢出的漢字字元都是問號
代碼如下
複製代碼
conn=pymssql.connect(server=’.’,user=”,
password=”,database=’MyTest’,charset=’utf8′)
(3)、設置python系統的默認編碼(對於文件來說,這招幾乎屢試不爽,呵呵~~)
代碼如下
複製代碼
import
sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
注意:上述編碼是「utf8」,而不是「utf-8」,我也沒弄明白,大部分情況下,這個無所謂的,但是這裡我試了必須要是「utf8」
一個簡單的完整的python連接mssqlserver的例子如下(得安裝pymssql包):
代碼如下
複製代碼
#encoding:utf8
import
sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
import
pymssql
try:
conn=pymssql.connect(server=’.’,user=”,
password=”,database=’MyTest’,charset=’utf8′)
sql=”select
*
from
UserInfo”
cur=conn.cursor()
cur.execute(sql)
data=cur.fetchall()
conn.close()
data
except
Exception,e:
e
運行結果如下:
代碼如下
複製代碼
[(u’20093501′,
u’xb9xf9xbexb8′,
u’u7537
‘,
35,
u’xb4xf3xcfxc0′),
(u’20093502′,
u’xbbxc6xc8xd8′,
u’u5973
‘,
34,
u’xc3xc0xc5xae’),
(u’20093503′,
u’xc1xeexbaxfcxb3xe5′,
u’u7537
‘,
25,
u’2Bxc7xe0xc4xea’),
(u’20093504′,
u’xc8xcexd3xafxd3xaf’,
u’u5973
‘,
24,
u’xc6xafxc1xc1′)]
[Finished
in
0.2s]
雖然擺脫了問號和亂碼的困擾,但這仍不是我們想要的結果,但這個確實是正確的,因為結果是utf8編碼。這個現象確實詭異,請教了許多高手,得知,最好的結果就是逐個欄位查詢,才能顯示中文,整個查詢的話,會以utf8的格式顯示出來。
上述代碼中第14行data是整個查詢的結果,如果指定某個具體的欄位,如print
data[0][2](表示取查詢結果的第一行第三列的欄位的值),則會輸出中文。
其實不僅僅是mssqlserver資料庫,mysql(需下載MySQLdb包)、sqllite(python自帶的文件資料庫)、mongodb(需下載PyMongo包)等或者是普通文本文件也是類似的解決方案。
本人在使用python連接資料庫MS SQL時遇到下列問題:請指導,謝謝!
Syntax error converting the nvarchar value ‘826*2’ to a column of data type int.
nvarchar 的應該轉成string吧
請問python主要應用領域是什麼,哪方面用的多了….
Web開發:最火的Python Web框架Django,支持非同步高並發的Tornado框架,短小精悍的flask,bootle,Django官方的標語把Django定義為the framework for perfectionist with deadlines(大意是一個為完全主義者開發的高效率Web框架)。
網路編程:支持高並發的Twisted網路框架,py3引入的asyncio使非同步編程變得非常簡單。
爬蟲:在爬蟲領域,Python幾乎是霸主地位,Scrapy、Request、BeautifuSoap、urllib等,想爬什麼爬什麼。
雲計算:目前最火的知名的雲計算框架是OpenStack,Python現在的火爆,很大一部分就是因為雲計算。
人工智慧/數據分析:Python是目前公認的人工智慧和數據分析領域的首選語言。
自動化運維:問問中國運維人員,運維人員必須會什麼語言?十分之九的人會回答Python。
不僅這些,Python還可以做的事情有很多,比如金融分析,Python是金融分析、量化交易領域使用最多的編程語言;科學計算,Python越來越適用於科學計算、繪製高質量的2D和3D圖像。
此外,現在很多公司都在使用Python,比如谷歌,Google APP Engine、Google earth、谷歌爬蟲等,都在大量使用Python開發;NASA,大量使用Python進行數據分析和運算;YouTube,世界上最大的視頻網站YouTube就是用Python開發的;Redhat,世界上最流行的Linux發行版本中的yum包管理工具就是用Python開發的。遠不止這些,還有國內的豆瓣、知乎、春雨醫生、騰訊、搜狐、百度、阿里等公司都在使用Python完成各種任務。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/230495.html