1. 程式人生 > 資訊 >現時 6 折:騰訊 VIP 會員季卡 3 個月季卡 40.8 元

現時 6 折:騰訊 VIP 會員季卡 3 個月季卡 40.8 元

flask-sqlacodegen 自動生成model

flask-sqlacodegen 自動生成model

安裝依賴

pip install pymssql
pip install flask-sqlacodegen

自動生成model

flask-sqlacodegen  是安裝地址

mssql+pymssql://sa:123456@localhost:1433/test  是連線地址

E:\product\my_product\models.py  是儲存model地址

D:\python3.6\Scripts\flask-sqlacodegen mssql+pymssql://sa:123456@localhost:1433/test > E:\product\my_product\models.py

pymssql 連線資料庫亂碼的問題 cp936

db_config = {
    "url": "mssql+pymssql://wps_user:[email protected]:1433/test?charset=cp936"
}

CP936和UTF-8本身和Python是毫無關聯的。
CP936其實就是GBK,IBM在發明Code Page的時候將GBK放在第936頁,所以叫CP936。

至於GBK,百度百科就說的很清楚了:GBK全稱《漢字內碼擴充套件規範》(GBK即“國標”、“擴充套件”漢語拼音的第一個字母,英文名稱:Chinese Internal Code Specification) ,中華人民共和國全國資訊科技標準化技術委員會1995年12月1日製訂,國家技術監督局標準化司、電子工業部科技與質量監督司1995年12月15日聯合以技監標函1995 229號檔案的形式,將它確定為技術規範指導性檔案。這一版的GBK規範為1.0版。
而UTF-8: UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字元編碼,又稱萬國碼。由Ken Thompson於1992年建立。現在已經標準化為RFC 3629。UTF-8用1到6個位元組編碼UNICODE字元。用在網頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

所以GBK和UTF-8簡單的來說,區別就是編碼方式不同,表示的文字範圍不同。(UTF-8能表示更多的語言文字,更加通用)在Python裡面,你需要注意你Python本身是否聲明瞭字元編碼型別(尤其是Py 2x),例如:#-- coding: UTF-8 --
以及,你是如何從外部檔案或者網頁讀入字元的,他們的源編碼型別是什麼