gpt4 book ai didi

mysql - 如何更改数据库的默认字符集

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:45 25 4
gpt4 key购买 nike

SO 有同样的问题' mysql change default table charset to database charset ' 之前问过。我使用第二个答案将我的数据库默认字符集更改为 utf-8。

alter database mydatabase default character set utf8 collate utf8_general_ci;

但是当我使用 phpMyAdmin 导出数据库时,虽然在顶部我有

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

但是对于查询我有类似的东西

--
-- Table structure for table `paras`
--

CREATE TABLE IF NOT EXISTS `paras` (
`p_id` int(11) NOT NULL AUTO_INCREMENT,
`para` text,
PRIMARY KEY (`p_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

其中 charset=latin1 .IMO 应该设置为 UTF-8。我是不是混淆了什么或者正确的方法是什么?

最佳答案

在 MySQL 中,各个列都有一个实际的字符集设置。其他任何内容都只有一个默认 字符集设置。这意味着如果没有为列显式指定字符集,则使用其表的默认字符集。如果没有,则使用它所在的数据库的默认值。如果没有,则使用服务器默认值。服务器、数据库和表中的每一个都有一个单独的默认设置,它会覆盖下一个更高的默认值。

您所做的只是为数据库设置默认值,但您的表仍然设置了单独的默认值。您必须为每个单独的表更改它。

关于mysql - 如何更改数据库的默认字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21362466/

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