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

 ~~~ 发布于 2022-12-21 12:14

我正在尝试修复字符编码问题 - 之前我们为此列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

重启服务器.是晚会,刚刚遇到同样的问题.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有