gpt4 book ai didi

mysql - 奇怪的编码类型转换为utf8

转载 作者:行者123 更新时间:2023-11-29 14:20:56 27 4
gpt4 key购买 nike

我的数据库中有超过 1000 条记录,其中的值看起来很奇怪:

Lưu Bích vỠViệt Nam làm liveshow

但是,当我以 utf-8 格式查看它们时,它看起来很好且可读。我如何立即将所有这些转换为 ut8,在 mysql 中如下所示:

Lưu Bích về Việt Nam làm liveshow

非常感谢任何形式的帮助。谢谢!

最佳答案

我假设列编码是utf8。如果不是,请更改它,因为 latin1 没有越南语所需的字符。

此时,列中的内容是双重 UTF-8 编码文本。如果所有文本都以同样的方式损坏,您可以通过首先将列类型更改为 latin1 文本,然后更改为 blob,然后更改为 utf8 文本来解决此问题。但是,如果列中的某些数据是单独编码的,您需要检测损坏的值并仅更新这些值。此更新声明试图做到这一点:

update mytable set mycolumn = @txt where char_length(mycolumn) = 
length(@txt := convert(binary convert(mycolumn using latin1) using utf8));

或者,您可以定义 function that does a "safe" utf-8 conversion ,检测原始数据何时正常,仅当不正常时才返回转换后的版本,然后用它进行更新。

关于mysql - 奇怪的编码类型转换为utf8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11770897/

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