2017-10-28 231 views
0

我有一個var unicode來自python中的scrapy,我已經將這個存儲在mysql中。我嘗試了所有的網絡方式來編碼爲utf-8,我的Unicode字符轉換成字符串以這種方式將阿拉伯語unicode轉換爲字符串stroe在python中的mysql並讀取lua中的數據

unicode.encode('utf-8')

並存儲在Python文件這方面,DB

db = MySQLdb.connect(host="", 
        user="", 
        passwd="", 
        db="", 
        cursorclass=MySQLdb.cursors.DictCursor, 
        charset='utf8', 
        init_command='SET NAMES UTF8' 
        ) 

然後我讀數據從這個代碼在lua中的mysql

local env = assert (luasql.mysql()) 
local con = assert (env:connect("","","")) 
local cursor,errorString = assert (con:execute("SELECT `id`,`arabic_name`,`arabic_lastname` FROM `user_info`")) 
local row = cursor:fetch ({}, "a") 

當我在while循環中打印結果的行。它是返回我????字符串的類型 我在Python中試過這種方式,並再次返回我????, 但在phpmyadmin我已經看到正確類型的字符串的列。 我猜lua和python中的mysql庫不能返回正確類型的阿拉伯字符串

有人知道我怎麼解決這個問題和問題在哪裏?存儲數據或讀取數據!

+0

你想在python或lua中做到這一點? – gommb

+0

我想在lua.python中讀取記錄以供在此項目中閱讀並且可以使用lua進行閱讀。我設置mysql表和集合到utf8_general_ci –

+0

可能重複[從utas8格式的luasql讀取數據](https://stackoverflow.com/questions/46966247/read-data-from-luasql-with-utf8-format) – tarleb

回答

0

您是否嘗試過SET NAMES cp1256以聲明客戶端字節被編碼爲CP1256?然後

表的可能是要麼utf8cp1256和轉碼會被MySQL中INSERTSELECT來完成。

相關問題