python - 在python中将阿拉伯语unicode转换为字符串存储在mysql中并在lua中读取数据

标签 python mysql unicode utf-8 lua

我有一个 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编码?

表的可以是utf8cp1256,转码将由MySQL在INSERT期间完成> 和选择

关于python - 在python中将阿拉伯语unicode转换为字符串存储在mysql中并在lua中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46994544/

相关文章:

python - Python 中的照应列表理解

python - 打印一行中的字母 + 1

python - 我可以在不阻塞执行主线程的情况下以编程方式启动 WSGI 应用程序服务器吗?

c++ - WCHAR* 结尾包含垃圾

python3 datetime.datetime.strftime 无法接受 utf-8 字符串格式

python - IDA Python - 为什么我的代码返回不正确的 ESP 值?

MySQL 选择公司未提供的任务

php - 什么更快 "Insert ignore"或 "Select and Insert"

mysql - 从另一个字段中减去一个字段,但子查询创建了 1 个字段

unicode - UTF-8 和 Unicode 有什么区别?