python - mysql怎么插入字節(jié)型數(shù)據(jù)?
問題描述
1.我通過python,向mysql插入類似b’x33x00x78xff’的數(shù)據(jù)。mysql的字段類型是varchar,插入之后發(fā)現(xiàn),數(shù)據(jù)少了轉(zhuǎn)義字符. 而且也不知道把數(shù)據(jù)重新讀出來后,怎么把它從字符串變回字節(jié)類型的數(shù)據(jù)。
sql = 'insert into myapp_userinfo (info) values ('%s')' % b’x01x00x00x00...’xx.execute(sql)...
2varchar類型被我穿成blob,然后嘗試?yán)^續(xù)插入,還是不行。
python讀回來的結(jié)果
我希望數(shù)據(jù)能夠原模原樣的寫進(jìn)和讀出來剛接觸python和mysql,這個(gè)問題弄了很久,有懂的人請回答下,謝謝!
問題解答
回答1:可以試試把數(shù)據(jù)序列化后存入數(shù)據(jù)庫,取的時(shí)候轉(zhuǎn)一次,這樣試試
回答2:跟問主的數(shù)據(jù)庫編碼有關(guān)系,將所有的系統(tǒng)編碼改為utf-8就可以了
我的數(shù)據(jù)庫編碼如下:
mysql 不是有個(gè)專門用來存二進(jìn)制的數(shù)據(jù)類型嗎?BINARY和VARBINARY類型
回答4:可以考慮像密碼經(jīng)過AES加密成二進(jìn)制后經(jīng)過base64_encode轉(zhuǎn)成字符串存儲到密碼字段中,讀取時(shí)base64_decode解碼即可.
相關(guān)文章:
1. 求:阿里云服務(wù)器windows+小皮(phpstudy)+laravel部署方案(教程)2. html - 急求,能否用flex或者高端點(diǎn)的CSS來布局這個(gè)圖呢?不想用浮動(dòng)或定位了3. mysql函數(shù)unix_timestamp如何處理1970.1.1以前的數(shù)據(jù)?4. javascript - vue-cli 發(fā)布之后,如何在接口地址中去掉在開發(fā)環(huán)境中設(shè)置的跨域proxyTable配置5. java - 關(guān)于使用POI解析excel中的時(shí)間格的值6. css3 - rem布局下,用戶瀏覽器的最小字號是12px怎么辦?7. java servlet后臺導(dǎo)出上萬條數(shù)據(jù)到excel,太慢!求解8. javascript - 一排三個(gè)框,各個(gè)框的間距是15px,距離外面的白框間距也是15px,這個(gè)css怎么寫?9. 怎樣使留言的數(shù)據(jù)與登錄的用戶名,密碼保持一致(在數(shù)據(jù)庫上是一行的)。10. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境
