Navicat for MySQL字段注释中文乱码

场景

Navicat for MySQL,数据库连接工具

表描述,表数据中文均正常,只有字段注释中文乱码

过程

百度过程中...

1.各种my.ini设置UTF8,重启MySQL服务(已设过,非根本原因)

2.执行SQL查看编码是否UTF8,设置编码为UTF8(设完无效果,非根本原因)

show variables like 'char%';
show variables like 'collation_%';

3.导航猫-连接属性-高级(无效果,反而表描述、表数据、字段注释中文从乱码变????)

编码=65001(UTF8)(也有说设置自动,但是我这个版本的导航猫没自动这个选项)

使用MySQL字符集-取消勾选

解决方案

1.查看系统本身的编码,打开命令行输入chcp

如果Active code page(活动代码页)值不是65001(UTF8),而是其他比如936(GBK)

注:这个就是我这个场景的根本原因,现在要做的就是把值设为65001

2.以WIN10为例,设置-时间和语言

3.区域和语言-管理语言设置

4.区域-管理(选项卡)-更改系统区域设置-勾选-Beta版:使用Unicode UTF-8提供全球语言支持

5.重启电脑,系统编码已经为UTF8

6.导航猫-连接属性-高级-勾选使用MySQL字符集

7.问题解决

改系统编码后,有部分旧txt和程序(如网易有道词典)出现乱码。。 如非必要还是不建议改系统编码

注:仅供自己学习,记录问题和参考,若有带来误解和不便请见谅,共勉!

<think>好的,我需要帮助用户了解如何使用Navicat创建数据库表。首先,我需要回忆Navicat的基本操作流程。根据用户提供的引用内容,引用[1]中有具体的SQL示例,引用[2]提到了排序规则的设置。 首先,用户可能需要知道如何启动Navicat并连接到数据库。接下来是创建数据库的步骤,包括设置数据库名称、字符集和排序规则。这里需要提到引用[2]中的排序规则选项,比如选择general_ci,以说明大小写不敏感的设置。 然后是创建表的具体步骤,需要参考引用[1]中的CREATE TABLE语句。应该解释各个字段的定义,比如字段名、类型、是否允许NULL,默认值,注释等。主键的设置也很重要,引擎和字符集的设置也需要说明,如ENGINE=INNODB和CHARSET=utf8mb4。 另外,用户可能需要了解图形界面操作和手动编写SQL两种方法,所以需要分步骤说明。在图形界面部分,需要指导如何右键点击数据库,选择新建表,添加字段,设置属性,最后保存。在SQL部分,可以展示示例代码并解释每个部分的作用,同时提醒注意语法正确性,比如反引号的使用和逗号的位置。 最后,需要生成相关问题,这些问题应该覆盖常见的使用场景和潜在问题,比如字符集选择、主键设置、默认值、外键添加以及导入数据的方法。这样用户可以有进一步的学习方向。</think>### 分步说明:使用 Navicat 创建数据库表 #### 一、创建数据库 1. **连接数据库** 打开 Navicat → 点击左上角「连接」→ 选择数据库类型(如 MySQL)→ 填写连接信息(主机、端口、用户名、密码)→ 测试连接成功后保存。 2. **新建数据库** 右键已建立的连接 → 选择「新建数据库」→ 输入数据库名称(如 `school`)→ 设置字符集为 `utf8mb4`(支持中文及特殊字符)→ 排序规则选择 `utf8mb4_general_ci`(大小写不敏感)[^2]。 --- #### 二、创建数据表(以学生表为例) ##### 方法1:图形界面操作 1. **进入新建表界面** 展开目标数据库 → 右键「表」→ 选择「新建表」。 2. **设计表结构** 按以下字段逐列添加(参考引用[1]的 `student` 表结构): - **字段名**:`id` **类型**:`INT` → 勾选「无符号」→ 勾选「自动递增」 **注释**:填写“学号” → 设置为主键(点击钥匙图标) - **字段名**:`name` **类型**:`VARCHAR(30)` → 默认值填写“匿名” → 注释“姓名” - **字段名**:`pwd` **类型**:`VARCHAR(20)` → 默认值填写“123456” → 注释“密码” - **字段名**:`sex` **类型**:`VARCHAR(10)` → 默认值填写“男” → 注释“性别” - **其他字段**:`birthday`(DATETIME)、`address`(VARCHAR(100))、`email`(VARCHAR(50))按需设置 3. **保存表** 点击「保存」图标 → 输入表名(如 `student`)→ 确认。 ##### 方法2:SQL语句创建 ```sql CREATE TABLE IF NOT EXISTS `student` ( `id` INT(4) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码', `sex` VARCHAR(10) NOT NULL DEFAULT '男' COMMENT '性别', `birthday` DATETIME DEFAULT NULL COMMENT '出生日期', `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址', `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; ``` **关键说明**: - `AUTO_INCREMENT` 表示自增主键 - `ENGINE=INNODB` 支持事务和行级锁 - `DEFAULT CHARSET=utf8mb4` 确保存储中文乱码[^1] --- #### 三、验证表结构 1. 右键表名 → 选择「设计表」检查字段属性 2. 右键表名 → 选择「打开表」→ 添加测试数据验证约束(如默认值、非空限制) ---
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值