我是否应该在 运行 Drupal 7 站点上将我的非 utf-8 数据库 (mysql)(默认?)更改为 utf-8?

Should I alter my non utf-8 database (mysql) (default?) to utf-8 on a running Drupal 7 site?

我在 MySQL 上有 运行 Drupal 7 站点。刚刚认识到我有 UTF-8 以外的数据库编码(和整理),而 Drupal 7 文档说它需要 UTF-8(使用 utf8_general_ci 整理)。同时我所有的表都是必要的utf-8和utf8_general_ci。 (我猜 drupal 设置是这样做的)。

我的问题是:

  1. 我应该让整个系统保持原样,还是应该将我的数据库更改为所需的编码,或者在我将数据库更改为 utf-8 后是否需要转换任何内容?
  2. 让整个系统保持原样会不会给我带来麻烦?
  3. 数据库的这个设置是否只是一个默认设置,它对我来说根本不重要,因为我所有的表都设置为正确的 utf-8?

谢谢

您可能已经遇到麻烦,也可能还没有。

当你连接时,你建立的连接是utf8吗? (SET NAMES utf8,或 Drupal 为实现该目标所做的任何工作。)

你客户端的数据是utf8编码的吗? (对于英语,这无关紧要。)

当前存在的每一列的 CHARACTER SET 已经确定。即使有些列是 latin1 而有些是 utf8,client 也会将它们视为 SET NAMES 所建立的。不一致并不'hurt'。至少在您尝试将阿拉伯语存储在 latin1 列中之前不会。

我不会在不了解如何正确更改它的情况下盲目尝试更改任何内容。有些尝试可能会使事情变得更糟。