首页 > 解决方案 > 将 utf8mb3 更改为 mb4 mariadb

问题描述

当我尝试更改 HeidiSQL 中的字符集时,HeidiSQL 是我用于 MariaDB MySQL 服务器的连接器,我可以将每个表 appart 从 1 更改为 utf8mb4。见下图

截图数据库信息

通过在每一列上运行以下代码,从 utf8mb3 更改为 utf8mb4

ALTER TABLE table_name CHANGE column_name VARCHAR(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

我还需要通过powershell更改一些设置吗?这就是我访问此数据库中信息的方式。

PS中的错误代码:

Connect-MySqlServer : Character set 'utf8mb3' is not supported by .Net Framework.
At C:\BAC\PCINVENTORY\pcinventory.ps1:339 char:9
+         Connect-MySqlServer -server "127.0.0.1" -Database "pcinventor ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (MySql.Data.MySqlClient.MySqlConnection:MySqlConnection) [Connect-MySqlServer], MySqlException
    + FullyQualifiedErrorId : MySqlConnectionException,it.wiechecki.ps.mysql.ConnectMySQL

输出:

SHOW CREATE TABLE inv;

CREATE TABLE `inv` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Tenant` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `ComputerName` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `OperatingSystem` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `amp` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `wsus` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `kace` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mbam` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `security` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `critical` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `feature` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2048 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

输出:

SELECT VERSION();

10.6.4-MariaDB

标签: mariadb

解决方案


推荐阅读