我想知道什麼是最好的策略編碼symblols如\ alpha到MySQL數據庫並有效地查詢它。python腳本插入到MySQL數據庫 - 特殊符號 - unicode:搜索和存儲
我用「CHARSET = utf8」創建我的MySQL表。
import mysql.connector
import urllib
import re
from mysql.connector import errorcode
Connection = mysql.connector.connect(user='XXXX', password='XXXX', unix_socket="mysql.sock")
Cursor = Connection.cursor()
Cursor.execute('''CREATE TABLE IF NOT EXISTS `test` (
`test_string` text NOT NULL,
`id` int(5) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
''')
xml = unicode(urllib.urlopen('http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pmc&id=2174229').read(),'utf-8')
Cursor.execute('''INSERT INTO `test` (`id`, `test_string`) VALUES ('''+"001"+", '"+re.escape(xml).encode("utf-8")+"');")
下一個編碼字符串時,將它們插入到MySQL數據庫之前,我保證使用「.encode(‘UTF-8’)」來編碼成UTF-8和插入,當我使用保證逃串「重.escape「,然後插入。
接下來,我進入phpMyAdmin來看看數據行,例如
原始字符串
"generating the α- and β-APP",
插入後,在數據庫中,我可以把它看作
"generating the α- and β-APP"
但是,如果在查詢HTML頁面中包含「生成」數據庫的行後顯示,則符號α和β將在HTML頁面上正確顯示。我很困惑。
這是爲什麼?我有一個相關的問題是,現在如果我必須查詢MySQL數據庫中的這些特殊符號(α,β等),我該怎麼做?如果我錯過了任何明顯的問題,請原諒。
分享一些代碼,使我們:> – QuakeCore 2014-10-18 12:19:19
我不能整個代碼粘貼實在是太長了,我試圖抓住問題的實質。請看看 – suzee 2014-10-18 12:35:42