我有一个var unicode来自python中的scrapy,我已将其存储在mysql中。我尝试了Web中的所有方法来编码为utf-8
并将这种unicode转换为字符串unicode.encode('utf-8')
并使用此连接存储到db到python文件中
db = MySQLdb.connect(host="",
user="",
passwd="",
db="",
cursorclass=MySQLdb.cursors.DictCursor,
charset='utf8',
init_command='SET NAMES UTF8'
)
然后我用这段代码从MySQL中的lua中读取数据
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库无法返回正确类型的阿拉伯字符串
有人知道我不能解决这个问题,哪里有问题?存储数据或读取数据!
最佳答案
您是否尝试过SET NAMES cp1256
以声明客户端字节已编码为CP1256?
该表的列可以是utf8
或cp1256
,而转码将由MySQL在INSERT
和SELECT
期间完成。
关于python - 将阿拉伯语unicode转换为字符串以存储在python中的mysql上并在lua中读取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46994544/