我正在尝试修复字符编码问题 - 之前我们为此列utf8_general_ci设置了排序规则,因为它对重音不敏感而导致问题.
我正在尝试查找数据库中可能受到影响的所有条目.
DEFAULT CHARACTER SET utf8
但是,这会产生错误:
CHARSET=utf8
现在使用"DEFAULT CHARACTER SET utf8"定义数据库
该表定义为"CHARSET = utf8"
"pid"列定义为:CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
服务器版本是服务器版本: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;
Mihai.. 26
首先运行此查询
SHOW VARIABLES LIKE '%char%';
你有 character_set_server='latin1'
如果是这样,请进入您的配置文件my.cnf并添加或取消注释这些行:
character-set-server = utf8 collation-server = utf8_general_ci
重启服务器.是晚会,刚刚遇到同样的问题.