導航:首頁 > 編程語言 > python資料庫中文亂碼

python資料庫中文亂碼

發布時間:2023-06-17 02:41:37

A. python中文亂碼是怎麼一回事

python報錯invalid character in identifier,意思就是「標識符中的無效字元」,檢查下有沒有字元是中文的,把中文字元改成英文字元再運行就可以了。

Python的作者有意的設計限制性很強的語法,使得不好的編程習慣(例如if語句的下一行不向右縮進)都不能通過編譯。其中很重要的一項就是Python的縮進規則。

一個和其他大多數語言(如C)的區別就是,一個模塊的界限,完全是由每行的首字元在這一行的位置來決定的(而C語言是用一對花括弧{}來明確的定出模塊的邊界的,與字元的位置毫無關系)。這一點曾經引起過爭議。

因為自從C這類的語言誕生後,語言的語法含義與字元的排列方式分離開來,曾經被認為是一種程序語言的進步。不過不可否認的是,通過強制程序員們縮進(包括if,for和函數定義等所有需要使用模塊的地方),Python確實使得程序更加清晰和美觀。

(1)python資料庫中文亂碼擴展閱讀

Python 中文編碼:

Python中默認的編碼格式是 ASCII 格式,在沒修改編碼格式時無法正確列印漢字,所以在讀取中文時會報錯。

解決方法為只要在文件開頭加入# -*- coding: UTF-8 -*-或者# coding=utf-8就行了

注意:# coding=utf-8的=號兩邊不要空格。

實例:

(Python 2.0+)

#!/usr/bin/python

# -*- coding: UTF-8 -*-

print( "你好,世界" )

輸出結果為:

你好,世界

B. python 部分中文顯示亂碼

wb讀取pdf?二進制讀取????

換成w+


提示的錯誤時名稱錯誤,或者打開模式wb錯誤。

  1. 看一下名稱是否出錯,例如多了空格等

  2. 看一下計算機pdf和其他文件內部的區別,例如是否有圖片等等,導致

C. python中文亂碼解決

windows下的文件路徑,cmd窗口等默認編碼都是gbk
但在windows下編寫python程序的時候,我們一般採用的編碼是utf-8
二者不一致是導致亂碼的根本原因!
在pycharm下,為了中文不亂碼,那麼需要注意一下幾個方面:
一、每一個源程序文件頭部,需要加上
#-*-coding:utf-8;-*-
這樣就沒有亂碼了

D. Python中中文亂碼問題

a ='哈哈'
b = a.encode('utf-8')
以上你的代碼是UTF8編碼吧,a本來就是UTF8編碼,你在給它編碼幹嘛,encode是編碼,decode是解碼,你不報錯沒天理。

a = u'哈哈'
b = a.encode('utf-8')
a是U編碼類型也就是你上一個沒加U的哈哈的解碼,它肯定不會保存!

E. python中文顯示亂碼,已經在開頭有了coding: utf-8

亂碼原因:
因為你的文件聲明為 utf-8,並且也應該是用 utf-8 的編碼保存的源文件。但是 windows 的本地默認編碼是 cp936,也就是 gbk 編碼,所以在控制台直接列印 utf-8 的字元串當然是亂碼了。

解決方法:

py文件用記事本打開,另存為utf-8格式即可

F. 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()
print data
except Exception,e:
print 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包)等或者是普通文本文件也是類似的解決方案。

G. python3連接MSSQL資料庫 中文亂碼怎麼解決

在獲取數據之前,執行mysql的命令set names utf8;
同時在python的文件頭,加上
# -*- coding: utf-8 -*-
將這個文件也編碼為utf8
如果還是亂碼,就更改mysql的編碼.

閱讀全文

與python資料庫中文亂碼相關的資料

熱點內容
java帶參數的線程 瀏覽:913
為什麼安卓車載中控屏看起來很差 瀏覽:466
吃雞怎麼解壓最快 瀏覽:968
linux網路編程基礎 瀏覽:219
產研是程序員嗎 瀏覽:594
程序員的法律 瀏覽:969
編程第四關用冰雪火焰閃現通關 瀏覽:756
批處理當前文件夾參數 瀏覽:185
鴻蒙安卓如何下載 瀏覽:904
開3389命令 瀏覽:542
程序員大都單純嗎 瀏覽:915
APP如何實現下載功能 瀏覽:216
通達信源碼怎樣放到桌面 瀏覽:645
程序員的腦袋會禿嗎 瀏覽:455
為什麼eve登錄啟動不進去伺服器 瀏覽:272
微信招生app哪個好用 瀏覽:233
寶可夢劍盾啟動文件在哪個文件夾 瀏覽:765
壓縮機比容 瀏覽:117
python自動化測試面試 瀏覽:949
買便宜點的鞋子去哪個app買 瀏覽:890