gpt4 book ai didi

mysql - 我将数据库转换为 utf-8,但旧数据仍在 windows-1251 中。如何转换呢?

转载 作者:行者123 更新时间:2023-11-29 19:16:15 24 4
gpt4 key购买 nike

我想将数据库转换为 utf-8。到目前为止我所做的是将服务器设置为读取 utf-8 并使用以下查询转换数据库:

ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_unicode_ci;

现在所有新信息都已可见,之前损坏的东西现在都好了。问题是旧数据被视为 �。在我看来,这是由于旧数据是在 windows-1251 中写入的(我认为至少,但我不是 100% 确定)。

我发现我需要转储数据:

mysqldump -uroot -p database -r utf8.dump

然后导入它:

mysql -uroot -p --default-character-set=utf8 database 
mysql> SET names 'utf8'
mysql> SOURCE utf8.dump

这是我从这里看到的:https://makandracards.com/makandra/595-dumping-and-importing-from-to-mysql-in-an-utf-8-safe-way

问题是我完全不知道在哪里以及如何做到这一点。我只能访问网络托管控制面板,并且我在我的计算机上设置任何内容。因此,我不知道如何将数据库连接到命令shell等等。接下来我应该做什么来将数据转换为 utf-8?请提供任何详细的解释,因为这是我第一次做这样的事情。

//我有一台 Mac 和一台 Windows 机器,但目前没有 Linux。

谢谢!

最佳答案

数据库的字符集和排序规则是任何后续创建的表的默认设置是列的默认设置。

对于每个表,这样:

ALTER TABLE table_name CONVERT TO utf8mb4;

关于mysql - 我将数据库转换为 utf-8,但旧数据仍在 windows-1251 中。如何转换呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42684894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com