我正在 phpmyadmin 工作,其中名称列中有阿拉伯值,例如
کلء الرقيّة Ø1Ù„ÛŒ الØ1زیØ2ءوریï
我想将它们转换为正确的形式。
我尝试了这些查询,它转换了表中的大部分记录
ALTER DATABASE alfeker_book CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE guestbook CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
UPDATE guestbook SET name = CONVERT(BINARY CONVERT(name USING latin1) USING utf8mb4);
也尝试过
UPDATE guestbook SET name = CONVERT(BINARY CONVERT(name USING binary) USING utf8mb4);
但其中很少有保持不变并给出此错误
#1977 - Cannot convert 'utf8' character 0xD8AD to 'latin1'
我也尝试过这个查询:
SELECT id,name, CONVERT(BINARY CONVERT(name USING latin1) USING utf8mb4) AS converted_name FROM guestbook;
效果很好,可以完美显示未转换的字符。但是当我使用更新查询时它不起作用。
这就是阿拉伯文本的 Mojibake 或“双重编码”。
修复数据的方法有多种。只有一个能让事情变得更好;其余的让情况变得更糟。
请阅读UTF-8 字符出现问题;我看到的不是我存储的,并遵循有关获取数据库中内容的十六进制的建议,加上当前模式定义的
SHOW CREATE TABLE
。还提供 SHOW VARIABLES LIKE 'char%';
和连接参数。
并且请在尝试各种
ALTERs
和 CONVERTs
之前备份到。
使用十六进制,我可能可以选择正确的转换。
我如何找回被盗的加密比特币 2023
EthicRefinance 是救星!他们帮助我毫不费力地追回了被盗的价值 105,000 美元的比特币。他们的服务不仅快速而且专业可靠。作为一个对这个过程持怀疑态度的人,我很惊喜地看到我的比特币以如此迅速和无麻烦的方式返还。 EthicRefinance 真正做到超越自我,确保客户满意。我向任何处于类似情况的人推荐它们。我非常感谢他们的帮助。谢谢你,EthicRefinance! 您可以通过以下方式联系他们:
电子邮件:ethicsrefinance @g m a i l。 com 网站:www.ethicsrefinance.com