小编Ste*_*hen的帖子

COLLATION'utf8_general_ci'对CHARACTER SET'latin1'无效

我正在尝试修复字符编码问题 - 之前我们为此列utf8_general_ci设置了排序规则,因为它对重音不敏感而导致问题.

我正在尝试查找数据库中可能受到影响的所有条目.

DEFAULT CHARACTER SET utf8

但是,这会产生错误:

CHARSET=utf8

  1. 现在使用"DEFAULT CHARACTER SET utf8"定义数据库
  2. 该表定义为"CHARSET = utf8"
  3. "pid"列定义为:CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
  4. 服务器版本是服务器版本:5.5.37-MariaDB-0ubuntu0.14.04.1(Ubuntu)

问题:当latin1似乎不存在于表/模式定义的任何地方时,为什么我收到有关latin1的错误?

set names utf8;
select * from table1 t1 join table2 t2 on (t1.pid=t2.pid and t1.id != t2.id) collate utf8_general_ci;
Run Code Online (Sandbox Code Playgroud)

mysql

21
推荐指数
2
解决办法
8万
查看次数

标签 统计

mysql ×1