gpt4 book ai didi

mysql - 如何修复十六进制 UTF-8 字节字符(在 latin1_swedish_ci 表中)

转载 作者:行者123 更新时间:2023-11-29 10:27:21 25 4
gpt4 key购买 nike

我有一个 latin1_swedish_ci 数据库,其中包含 UTF-8 字节字符,这些字符显示为 %C5%A1、%C4%8D,...

我已经将数据库和表从 latin1 转换为 utf8,但我仍然需要修复 UTF-8 字节字符。

ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

MySQL默认字符集:

SHOW VARIABLES LIKE  'char%'

character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/

我尝试了 MySQL 函数但没有成功:

convert(cast(convert(name using  latin1) as binary) using utf8)

我真的需要帮助!谢谢。

最佳答案

你使用PHP吗?是否有对urlencode()的调用?不。该函数仅用于构建 url 字符串。

让我们仔细检查一下表格中的内容。。 Do SELECT HEX(...) ... -- pisarniška 应该变成(为了清晰起见添加了空格):

70697361726E69 C5A1 6B61   if correctly stored as utf8mb4 (or utf8)
70697361726E69 254335 254131 6B61 if urlencoded first

关于mysql - 如何修复十六进制 UTF-8 字节字符(在 latin1_swedish_ci 表中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48052868/

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