我想更改 MySQL 数据库的排序规则

I Want to Change the Collation on my MySQL Database

我最近将我的站点升级到 PHP 5.7 并重新安装了 MySQL 数据库。导入了之前的数据。

现在我在输出的文本中有很多菱形问号。我已经阅读了,问题似乎是我的数据库的排序规则设置为 latin1_swedish_ci,我需要是 utf8 才能正确呈现存储在数据库中的特殊字符。

如果我更改排序规则,这是否有可能解决我的问题,修复较旧的帖子?

更改排序规则之前是否要关闭站点,是否需要重新启动才能生效?我有点担心破坏数据,因为我的用户会因为丢失他们的历史帖子而极度不安。

我没有建立新的数据库,我升级了现有的数据库,需要保留历史数据。

我遵循了下面发布的答案之一,它适用于升级前输入到数据库中的数据,但现在使用各种“代替撇号等”呈现更新的数据

您可以使用

$con = mysqli_connect("HOST","DB_USER","PASSWORD","DB_NAME");
$db->set_charset('utf8');

mysql_query('SET NAMES utf8');