tables sum collat​​ion是latin1_swedish_ci,但是所有单独的表都显示utf8_general_ci

时间:2016-07-07 19:16:37

标签: mysql wordpress collation

这个MySQL数据库是在Godaddy中安装的,因为它安装了WordPress。网站上的东西都表现得很糟糕 - 交换主题并停用插件没有帮助,所以我决定使用phpmyAdmin查看表格。

我之前从未见过 - 所有表都使用utf8_general_ci(有13个表),但是底部是所有内容的摘要,整理显示latin1_swedish_ci,而不是utf8 ...

似乎不应该这样。使用utf8而不是latin1_swedish,我能做些什么来统一呢?

1 个答案:

答案 0 :(得分:1)

为了帮助解释,SHOW CREATE TABLE给你这样的东西:

CREATE TABLE `h2u` (
  `c` varchar(9) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

这表示列c是utf8(以及某些utf8排序规则,可能是utf8_general_ci),但默认可能添加的任何其他列 latin1(以及一些latin1校对,可能是latin1_swedish_ci)。

列上的CHARACTER SETCOLLATION 非常重要。

(令人遗憾的是,第三方软件在尝试提供帮助时,有时会模糊有用的信息。)

修改

我会猜测从图片中数据库默认是latin1 / latin1_swedish_ci和默认对于每个是utf8 / utf8_general_ci。但重要的是每个列的设置是什么;图像没有显示出来。

如果您使用的是英文文本以外的任何内容,则每列的字符集和排序规则非常重要。你呢?

是的,你发现了一些奇怪的事情。我想说它可能并不重要,除非使用非英文文本,否则不太可能引起任何故障。

以下内容会创建类似于图像的输出:

CREATE DATABASE wp DEFAULT CHARACTER SET latin1;
CREATE TABLE wp_users (...) DEFAULT CHARACTER SET utf8; -- overriding the 'latin1'