我有一个 var unicode 来自 python 中的 scrapy,我已将其存储在 mysql 中。我已经尝试了网络中的所有方法来编码为 utf-8
并用这种方式将我的 unicode 转换为字符串
unicode.encode('utf-8')
并通过Python文件中的此连接存储到数据库
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 库无法返回正确类型的阿拉伯字符串。
有人知道我如何解决这个问题以及问题在哪里吗?存储数据或读取数据!
最佳答案
您是否尝试过SET NAMES cp1256
来声明客户端字节采用CP1256编码?
表的列可以是utf8
或cp1256
,转码将由MySQL在INSERT
期间完成> 和选择
。
关于python - 在python中将阿拉伯语unicode转换为字符串存储在mysql中并在lua中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46994544/