Windows下Mariadb中文乱码问题

win10 在命令行使用Mariadb出现无法插入中文 并且之前正确插入的中文也无法正常显示了

ERROR 1366 (22007): Incorrect string value: ‘\xB1\xB1\xBE\xA9’ for column web.user.address at row 1

或者可以插入中文,但是显示不正确

MariaDB [web]> select * from comments;
+---------------------+--------------------------+---------+------+
| time                | title                    | content | name |
+---------------------+--------------------------+---------+------+
| 2021-05-09 15:55:17 | 娴嬭瘯璇勮              | NULL    | test |
| 2021-05-09 15:56:17 | 娴嬭瘯璇勮2             | NULL    | test |
| 2021-05-09 16:04:26 | 18计科4班                | NULL    | test |
| 2021-05-09 16:06:59 | 18计科4班             | NULL    | NULL |
| 2021-05-09 16:11:17 | 测试评论             | NULL    | test |
| 2021-05-09 16:13:37 | 测试评论             | NULL    | test |
+---------------------+--------------------------+---------+------+
6 rows in set (0.003 sec)

先检查数据库和表的编码是否是utf8
我创建数据库和表的时候没有指定编码方式 所以这是表和数据库都是默认的latin编码方式 后来改了数据库的编码 但是没改表 这是创建新的表的时候就是用utf8了 但是之前那个几个表还是默认的latin 可以用

alter table 表名 change 字段名 字段名 字段类型 character set utf8;

来修改表的编码类型 但是我改完发现还是不行,要么是无法插入要么是乱码
这时候看到一篇博客提到了cmd的编码方式 cmd默认GBK编码方式 而数据库是utf8 所以就出错了
两种解决方法 把数据库改成gbk的或者修改cmd的编码方式
修改cmd编码方式:
输入chcp查看当前编码

C:\WINDOWS\system32>chcp
活动代码页: 936

chcp后面加上编码方式的代码修改编码方式

C:\WINDOWS\system32>chcp 65001
Active code page: 65001

编码方式代码如下
65001 :utf-8

20936 : GB2312

936 : GBK

437 :美国英语

修改完再插入数据就正常了

+---------------------+--------------------------+---------+------+
| time                | title                    | content | name |
+---------------------+--------------------------+---------+------+
| 2021-05-09 15:55:17 | 娴嬭瘯璇勮              | NULL    | test |
| 2021-05-09 15:56:17 | 娴嬭瘯璇勮2             | NULL    | test |
| 2021-05-09 16:04:26 | 18计科4班                | NULL    | test |
| 2021-05-09 16:06:59 | 18计科4班             | NULL    | NULL |
| 2021-05-09 16:11:17 | 测试评论             | NULL    | test |
| 2021-05-09 16:13:37 | 测试评论             | NULL    | test |
| 2021-05-09 18:25:08 | 测试评论             | NULL    | test |
| 2021-05-09 18:25:24 | 18计科4班             | NULL    | test |
| 2021-05-09 18:26:18 | 18计科4班             | NULL    | NULL |
| 2021-05-09 18:27:17 | 测试评论                 | NULL    | test |
+---------------------+--------------------------+---------+------+``

最后一行是修改完之后插入的

posted @ 2021-05-09 19:00  2235854410  阅读(97)  评论(0编辑  收藏  举报