我需要做我在这里为整个表做的事情:
UPDATE users SET name = CONVERT(CAST(convert(name using latin1) as BINARY) USING utf8);如何使用ALTER TABLE查询执行此操作?
发布于 2018-04-13 21:27:05
假设columnA被定义为VARCHAR(25)字符集latin1,那么您可以将其更改为utf8,以便它可以具有来自不同语言的不同值,使用以下命令:
ALTER TABLE yourTable MODIFY columnA VARCHAR(25) CHARACTER SET utf8;发布于 2018-04-18 07:07:14
首先,确保这是正确的修复。
如果我没记错的话,你是想取消“双重编码”吗?
有关症状,请参阅以下内容:Trouble with UTF-8 characters; what I see is not what I stored
有关修复的适用位置,请参阅以下内容:http://mysql.rjweb.org/doc.php/charcoll#fixes_for_various_cases
即
采用双重编码的字符集utf8mb4:
UPDATE tbl SET col = CONVERT(BINARY(CONVERT(col USING latin1)) USING utf8mb4);转储表,将其加载到其他位置,运行转换,测试结果,特别是获取SELECT col, HEX(col) ...
https://stackoverflow.com/questions/49817808
复制相似问题