the following code originally from http://zetcode.com/databases/mysqlpythontutorial/ within the "Writing images" part .
import MySQLdb as mdb import sys try: fin = open("Chrome_Logo.svg.png",'rb') img = fin.read() fin.close() except IOError as e: print ("Error %d: %s" % (e.args[0],e.args[1])) sys.exit(1) try: conn = mdb.connect(host='localhost',user='testuser', passwd='test623', db='testdb') cursor = conn.cursor() cursor.execute("INSERT INTO Images SET Data='%s'" % \ mdb.escape_string(img)) conn.commit() cursor.close() conn.close() except mdb.Error as e: print ("Error %d: %s" % (e.args[0],e.args[1])) sys.exit(1) I port it to python 3 ,and also change fin = open("chrome.png") to fin = open("Chrome_Logo.png",'rb') but when I run it ,it gives the following error : Traceback (most recent call last): File "E:\Python\py32\itest4.py", line 20, in <module> mdb.escape_string(img)) UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte so how to fix it ? -- http://mail.python.org/mailman/listinfo/python-list