我在MySQL工作台中有以下查询:
SELECT japanese
FROM my_table
where japanese = 'する' COLLATE utf8mb4_ja_0900_as_cs;
当我尝试通过mysql.connector传递相同的查询时,它会崩溃:
sql_query = 'SELECT japanese FROM my_table WHERE japanese = %s COLLATE utf8mb4_ja_0900_as_cs LIMIT 1'
my_variable = (word_to_search,)
mycursor1.execute(sql_query,my_variable)
sql_excecuted = mycursor1.fetchall()
我收到以下错误消息:
mysql.connector.errors.ProgrammingError: 1253 (42000): COLLATION 'utf8mb4_ja_0900_as_cs' is not valid for CHARACTER SET 'utf8'
在documentation中,它说要更新您的连接器设置,而我尝试这样做:
mydb = mysql.connector.connect(host = "localhost", user = 'root',pwrd='123',database ='app')
mydb.set_charset_collation('utf8mb4_ja_0900_as_cs')
并获得以下错误消息:
mysql.connector.errors.ProgrammingError: Character set 'utf8mb4_ja_0900_as_cs' unsupported.
我感觉自己处在22级陷阱中,该程序还存在其他一些问题,这些问题迫使我使用utf-8
字符集。一天结束时,我正在读取.txt
文件并创建html
文档,并且对任何允许日语字体正确显示并且可以搜索{{ 1}}正确使用。
有人可以帮我理解在这种情况下使用的正确字符集吗?
谢谢!