首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Alter table convert to using latin1

Alter table convert to using latin1
EN

Stack Overflow用户
提问于 2018-04-13 21:08:32
回答 2查看 343关注 0票数 0

我需要做我在这里为整个表做的事情:

代码语言:javascript
复制
UPDATE users SET name = CONVERT(CAST(convert(name using  latin1) as BINARY) USING utf8);

如何使用ALTER TABLE查询执行此操作?

EN

回答 2

Stack Overflow用户

发布于 2018-04-13 21:27:05

假设columnA被定义为VARCHAR(25)字符集latin1,那么您可以将其更改为utf8,以便它可以具有来自不同语言的不同值,使用以下命令:

代码语言:javascript
复制
  ALTER TABLE yourTable MODIFY columnA VARCHAR(25) CHARACTER SET utf8;
票数 0
EN

Stack Overflow用户

发布于 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:

代码语言:javascript
复制
UPDATE tbl SET col = CONVERT(BINARY(CONVERT(col USING latin1)) USING utf8mb4);

转储表,将其加载到其他位置,运行转换,测试结果,特别是获取SELECT col, HEX(col) ...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49817808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档