我在charset-utf-8的mysql表中有数据。我有一个pyspark脚本,它加载mysql数据并在s3存储桶中写入一个实木复合地板文件。从mysql获取数据时,我在下面获取数据 格式:
formdata
然后我将其转换为utf-8编码,并获得了以下unicode字符串:
is_rememberme
之后,我将其解码为mac_arabic编码,然后得到以下文本:
frmdata = {"captcha":"","email":"MYEMAIL","password":"MYPASS","is_rememberme":"0","locale":"en_US","auth_type":"bearer_token","date":"2018-12-13T09:56:22.957Z"}
有没有一种方法可以从这些字符串中的任何一个生成阿拉伯文本。
下面是代码
'الشرقية'
对于下表中的列,设置了config: 字符集utf8mb4收集utf8mb4_unicode_ci默认为空
对于配置以下的数据库已设置: ENGINE = InnoDB AUTO_INCREMENT = 42627 DEFAULT CHARSET = latin1
谢谢。
答案 0 :(得分:1)
默认情况下,平台上的JDBC驱动程序版本未使用UTF-8编码。如以上评论所述,尝试将编码明确传递给驱动程序:
df = sqlContext.read.format("jdbc").options(
url="jdbc:mysql://localhost/db_name?characterEncoding=utf8",
driver="com.mysql.jdbc.Driver",
dbtable="table",
user="root",
password="root").load()