我需要做我在这里做的整张桌子:
UPDATE users SET name = CONVERT(CAST(convert(name using latin1) as BINARY) USING utf8);
如何使用ALTER TABLE查询执行此操作?
答案 0 :(得分:0)
假设columnA被定义为VARCHAR(25)CHARACTER SET latin1然后您可以将其更改为utf8,以便它可以使用以下语言从不同语言中获得不同的值:
ALTER TABLE yourTable MODIFY columnA VARCHAR(25) CHARACTER SET utf8;
答案 1 :(得分:0)
首先,确保这是正确的解决方法。
如果我没弄错的话,你试图撤消“双重编码”?
请参阅此症状:Trouble with UTF-8 characters; what I see is not what I stored
请参阅此处了解修正适用的位置:http://mysql.rjweb.org/doc.php/charcoll#fixes_for_various_cases
即
CHARACTER SET utf8mb4 with double-encoding:
UPDATE tbl SET col = CONVERT(BINARY(CONVERT(col USING latin1)) USING utf8mb4);
转储表格,将其加载到其他地方,运行转化,测试结果,尤其是获取SELECT col, HEX(col) ...