**:
向mysql資料庫插入資料時經常會碰到一些特殊字元,如單引號,雙引號。
cur.execute(u'''update table set name = %s where id = %s;''' , (p.decode('utf-8'),index))
name = "\\";
name2 = "\""
注意: cursor.execute()可以接受乙個引數,也可以接受兩個引數:
(1) cursor.execute("insert into resource(cid,name) values(%s, %s)" , (12,name) );
這種格式是接受兩個引數,mysqldb會自動替你對字串進行轉義和加引號,不必再自己進行轉義,執行完 此語句之後,resource表中多了一條記錄: 12 \
(2) cursor.execute("insert into resource(cid,name) values(%s, %s)" % (12,name) );
這種格式是利用python的字串格式化自己生成乙個query,也就是傳給execute乙個引數,此時必須自己對 字串轉義和增加引號,即上邊的語句是錯誤的,應該修改為:
name = mysqldb.escape_string(name);
cursor.execute("insert into resource(cid,name) values(%s, '%s')" % (12,name) );
這樣插入的記錄才和(1)一樣:12 \
解決hibernate向mysql插入中文亂碼
1 首先需要修改mysql資料庫的配置檔案my.ini,此檔案放在mysql根目錄下。在此檔案下查詢default character set屬性,並將其值更改為utf8 注意 不是utf 8,也要注意大小寫 這裡需要將default character set屬性全部屬性的值修改為utf8。示例 ...
向Mysql插入中文以後顯示「???」
mysql 連線url中useunicode true characterencoding utf 8 的作用 useunicode true characterencoding utf 8 但是為什麼要新增呢?新增的作用是 例如 mysql資料庫用的是gbk編碼,而專案資料庫用的是utf 8編碼。...
向mysql 插入中文數值報錯
報錯 error 1366 incorrect string value xe6 xb5 x8b xe8 xaf x95 for column description at row 1 原因是資料庫字段沒有設定編碼為utf8而是預設的lanti 1 檢視表中的各字段的屬性 show full col...