gpt4 book ai didi

encoding - 错误的 MySQL 导入,现在我们用垃圾代替 utf-8 字符显示

转载 作者:行者123 更新时间:2023-12-02 02:25:52 25 4
gpt4 key购买 nike

我们从不同格式的备份恢复到新的 MySQL 结构(为 UTF-8 支持正确设置)。我们在浏览器中显示了奇怪的字符,但我们不确定它们叫什么,所以我们可以找到它们翻译成什么的主列表。

我注意到它们确实与特定字符相关。例如:

â„¢ always translates to ™
— always translates to —
• always translates to ·

我引用了这篇文章,这让我开始了,但这远不是一个完整的列表。要么我没有搜索正确的名称,要么不存在作为引用的这些从坏到好转换的“主列表”。

引用: Detecting utf8 broken characters in MySQL

此外,当尝试通过 MySQL 查询进行搜索时,如果我搜索 â,我总是让 MySQL 将其视为“a”。有什么方法可以调整我的 MySQL 查询,使它们更像字面搜索吗?我们不怎么使用国际化,所以我可以安全地假设任何包含 â 字符的字段都被认为是有问题的条目,需要通过我们正在构建的“fixit”脚本来修复。

最佳答案

与其设计一个“fixit”脚本来遍历和替换这些数据,我认为直接修复问题会更好。看起来数据最初是以不同于 UTF-8 的格式存储的,因此当您将其放入为 UTF-8 设置的表中时,它会出现乱码。如果有机会,请返回原始备份以确定数据的存储格式。如果不能这样做,您可能需要反复试验以确定数据的格式in。但是,一旦您知道这一点,转换就很容易了。阅读以下文章中有关修复的部分:

http://www.istognosis.com/en/mysql/35-garbled-data-set-utf8-characters-to-mysql-

基本上,您要将列设置为 BINARY,然后将其设置为原始字符集。这应该使文本正确显示(这是一个很好的检查,以了解您使用的是正确的字符集)。完成后,将列设置为 UTF-8。这将正确转换数据并纠正您当前遇到的问题。

关于encoding - 错误的 MySQL 导入,现在我们用垃圾代替 utf-8 字符显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5981251/

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