如何更新 MySql table 中编码错误的字符?

How to update badly encoded characters in MySql table?

在现有数据库中,我们发现了一些文本条目中的重音字符编码错误。

以下查询:

SELECT 
    PR.Product_Ref__ AS ProductCode,
    CONCAT(P.Name, IF (PR.Misc <> '', CONCAT(' ', PR.Misc), '')) AS Name
FROM
    Product AS P
        INNER JOIN
    Product_Ref AS PR ON P.Product__ = PR.Product__
WHERE
    Name like "%é%" AND
    PR.Product_Ref__ IN ( 659491, 657274 )

returns 两行描述问题:

有时,带重音的e被正确插入,有时却没有。

我如何使用 UPDATE ... WHERE ... 检测和更新此类问题?或者我应该使用不同的 statement/method?

P.S.:对应的应用在PHP.

开发

P.S.2: 建议的可能重复问题中的答案没有解决我提出的问题。与数据库排序无关

您可以简单地检测所有您想要更正的事件并使用简单的更新子句进行替换。

您描述的案例示例:

UPDATE Product
SET Name = REPLACE(Name, 'é', 'é')
WHERE Name like '%é%'

您可以 运行 使用命令行或在特定 mysql 用户界面客户端应用程序中直接在 mysql 数据库中更新。或者,如果您愿意,可以使用 php 函数在数据库中 运行 sql 语句。