这个MySQL数据库是在Godaddy中安装的,因为它安装了WordPress。网站上的东西都表现得很糟糕 - 交换主题并停用插件没有帮助,所以我决定使用phpmyAdmin查看表格。
我之前从未见过 - 所有表都使用utf8_general_ci(有13个表),但是底部是所有内容的摘要,整理显示latin1_swedish_ci,而不是utf8 ...
似乎不应该这样。使用utf8而不是latin1_swedish,我能做些什么来统一呢?
答案 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 SET
和COLLATION
非常重要。
(令人遗憾的是,第三方软件在尝试提供帮助时,有时会模糊有用的信息。)
修改强>
我会猜测从图片中数据库的默认是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'