gpt4 book ai didi

mysql - pymysql 错误地将俄语文本写入数据库

转载 作者:行者123 更新时间:2023-11-29 18:40:53 37 4
gpt4 key购买 nike

我遇到了以下问题:是否有一个使用 windows-1251 编码的站点。我正在使用 BeautifulSoup 库来获取您需要的俄语数据。为了测试记录在文件中的值,它们会正确显示。然后我尝试将此数据记录到数据库中,但收到此错误: 警告:(1366,“错误的字符串值:'\\x98\\xD0\\xBD\\xD1\\x82\\xD0.. .' 对于第 1 行的“描述”列”)
数据库编码为utf-8。下面的代码演示了如何读取html文件:

def get_html(url):
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
response = urllib.request.urlopen(req)
return response.read()

下面的代码演示了如何将值写入数据库:

def write_to_db(chars, desc):
conn = pymysql.connect(host='localhost',
port=3307,
user='****',
password='****',
db='****',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor)

global _id
with conn.cursor() as cursor:
sql = "INSERT INTO `articles` (`id_cat`, `characteristics`, `description`) VALUES (%s, %s, %s)"
cursor.execute(sql, (_id, chars, desc))
conn.commit()

最终我们在数据库中得到以下字符:РњРѕРБель

如何克服这个问题?

最佳答案

尝试将数据库编码更改为 cp1251_general_ci。

关于this link您可以检查西里尔字符集和排序规则。

关于mysql - pymysql 错误地将俄语文本写入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44947611/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com