问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MySQL:Unknown character set:utf8mb4怎么解决?

发布网友 发布时间:2022-04-27 02:59

我来回答

4个回答

热心网友 时间:2022-04-10 06:29

整理 MySQL 8.0 文档时发现一个变更:
默认字符集由 latin1 变为 utf8mb4。想起以前整理过字符集转换文档,升级到 MySQL 8.0 后大概率会有字符集转换的需求,在此正好分享一下。
当时的需求背景是:
部分系统使用的字符集是 utf8,但 utf8 最多只能存 3 字节长度的字符,不能存放 4 字节的生僻字或者表情符号,因此打算迁移到 utf8mb4。
迁移方案一1. 准备新的数据库实例,修改以下参数:[mysqld]## Character Settingsinit_connect='SET NAMES utf8mb4'#连接建立时执行设置的语句,对super权限用户无效character-set-server = utf8mb4collation-server = utf8mb4_general_ci#设置服务端校验规则,如果字符串需要区分大小写,设置为utf8mb4_binskip-character-set-client-handshake#忽略应用连接自己设置的字符编码,保持与全局设置一致## Innodb Settingsinnodb_file_format = Barracudainnodb_file_format_max = Barracudainnodb_file_per_table = 1innodb_large_prefix = ON#允许索引的最大字节数为3072(不开启则最大为767字节,对于类似varchar(255)字段的索引会有问题,因为255*4大于767)

2. 停止应用,观察,确认不再有数据写入
可通过 show master status 观察 GTID 或者 binlog position,没有变化则没有写入。
3. 导出数据
先导出表结构:mysqlmp -u -p --no-data --default-character-set=utf8mb4 --single-transaction --set-gtid-purged=OFF --databases testdb > /backup/testdb.sql
后导出数据:mysqlmp -u -p --no-create-info --master-data=2 --flush-logs --routines --events --triggers --default-character-set=utf8mb4 --single-transaction --set-gtid-purged=OFF --database testdb > /backup/testdata.sql

4. 修改建表语句
修改导出的表结构文件,将表、列定义中的 utf8 改为 utf8mb4
5. 导入数据
先导入表结构:mysql -u -p testdb < /backup/testdb.sql
后导入数据:mysql -u -p testdb < /backup/testdata.sql

6. 建用户
查出旧环境的数据库用户,在新数据库中创建
7. 修改新数据库端口,启动应用进行测试
关闭旧数据库,修改新数据库端口重启,启动应用

热心网友 时间:2022-04-10 07:47

mysql:unknown
character
set:utf8mb4怎么解决
数据库不支持utf8mb4字符集。
你先检查你页面中使用的编码是不是utf-8,可能你写错了,然后在mysql目录下的my.ini文件中,把default-character-set全部改成utf8,重新启动mysql服务。

热心网友 时间:2022-04-10 09:22

虚拟主机导入MySQL数据出现以上报错:unknown collation:utf8mb4_unicode_ci,就是mysql版本高低造成的。解决方法www.lmlblog.com/266.html

热心网友 时间:2022-04-10 11:13

Unknown character set: 'utf8mb4' 这是数据库报的错吧把你的mysql-connector-java的jar包。

Unknown character set: 'utf8mb4'

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)

atorg.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382)

atorg.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:464)

atorg.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:472)

atorg.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:477)

atorg.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:486)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
iPhone XR电量百分比怎么设置 Django如何使用网页嵌套网页(2023年最新解答) 社保之前工作缴了 后面工作不缴。自己要怎么续上?自己缴要缴多少?每... 壁挂炉数字不亮了怎么回事了解壁挂炉数字不亮的原因及解决方法_百度知 ... 单反长镜头和短镜头什么区别 ai的剪切蒙版快捷键是什么 自学当程序员需要哪些基础 程序员,需要学什么课程 想当一名出色的程序员数学必须要很好吗 华为路由器192.168.1.1怎样设置? 安卓drawlayout能实现上下抽屉吗 抽屉的拉手上下的距离一般是留一样的吗 五斗柜 上下抽屉之间的距离一般为多少? 抽屉错位了上下都卡死了,手又伸不进去缝隙很小,里面也没有装满东西怎么弄都弄不出来该怎么办 急死了 木工橱柜上下三个抽屉怎么计算轨道安放到哪 整体橱柜抽屉上下尺寸如何定位 抽屉面板上下一般留几毫米缝隙 耳机不小心掉水里了,现在还可以用,但是对手机会有影响吗? 小米耳机泡水十分钟对耳机有什么伤害?? 蓝牙耳机仓进水,漏电怎么弄好,显示屏也是一闪一闪的? 耳机进水还用会不会爆炸触电,对人体有什么伤害 手机耳机掉水里,不过还能用,会不会造成安全隐患 防水蓝牙耳机 掉水里晾干后耳机灯微亮 还能正常播放 放进充电仓一直充电... 耳机掉水里了会漏电不? 耳机进水会爆炸触电吗 华为手机如何关闭通知类消息声音 华为系统通知声音怎么关闭 变频空调术换一个主板,大概需要多少钱? 快手极速版咋不显示金币圈呢? 空调换主板 MySQL为什么使用utf8mb4还会乱码,插入数据还是报错? mysql数据库字符集选择,utf8还是utf8mb4更好 数据库utf8改utf8mb4 mysql5.1怎么配置字符集utf8mb4 mysql中字符集 utf8 和utf8mb4 有什么区别 怎么修改mysql 符集为utf8mb4 怎么把utf8mb4编码的数据库导入mysql里面。 如何解决MySQL字符集乱码问题 pb能 设置utf8mb4字符集吗,我数据库用的云数据库mysql,用的utf8mb4 想摆摊,求煎饼果子的面糊怎么做? 酱烧牛肉的做法,酱烧牛肉怎么做好吃,酱烧牛肉 老干妈酱烧牛肉怎么做 牛肉的做法,酱烧牛肉怎么做好吃,酱烧牛肉的家常做法 酱烤牛肉怎么做 酱炖牛肉的做法步骤图,酱炖牛肉怎么做好吃 怎样烧酱牛肉 酱烧土豆牛肉怎么做好吃 请问用柱侯酱烧牛肉怎么做? 金兰烧烤酱烤牛肉怎么做 酱牛肉怎么炖