前言

最近用户反馈在使用confluence时,保存页面会报错:“无法保存页面。请检查与服务器通信,或检查内容是否有特殊字符/emoji表情”。从提示中我们也能知道可能是服务器通信的问题,考虑到网络过于复杂,先着手排查是否是数据库字符集的问题。

定位问题

通过咨询厂家和查看官网的issue,确定出现/emoji 表情是mysql数据库字符集为utf8所致,因为utf8最大字符长度为3字节,utf8mb4也就是most bytes 4,向下兼容utf8。有些特殊字符和emoji表情需要4字节,所以将数据表转换为utf8mb4。

  • 将数据表编码和字符集转为utf8mb4
ALTER TABLE "表名" CONVERT TO CHARACTER SET = utf8mb4 COLLATE = utf8mb4_Unicode_ci;

注:confluence数据库表有近120个,一个一个更新可太累了

  • 批量更新操作
SELECT
CONCAT("ALTER TABLE `", TABLE_NAME,"` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_Unicode_ci;")
AS target_tables
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="Confluence"  #这里的confluence需要根据数据库中的名称进行替换
AND TABLE_TYPE="BASE TABLE"

将运行结果复制然后运行。

  • 复制运行
    运行时会出现诸如以下的错误
ERROR 1833 (HY000): Cannot change column 'user_key': used in a foreign key constraint …………

这个问题是因为外键必须与它们引用的列的数据类型匹配,所以更改列的数据类型可能会扰乱引用它的外键。Mysql有一个设置来防止并否认尝试修改列导致修改不成功,可通过以下的命令来解决

  • set foreign_key_checks=0
  • ALTER TABLE “表名” CONVERT TO CHARACTER SET = utf8mb4 COLLATE = utf8mb4_Unicode_ci;
  • set foreign_key_checks=1

结论

虽然保存还是出现报错,但是已基本排除是/emoji的问题了。那即有可能就是网络的原因。
网络排查待解决中………………

confluence 无法保存页面 排错记录相关推荐

  1. html 修改按回退键的url,location.hash保存页面状态的技巧

    hash 属性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 # 号开始的部分). 语法 location.hash 在我们的项目中,有大量ajax查询表单+结果列表的页面,由于查询结果是a ...

  2. H5二维码海报生成保存相关问题记录

    H5二维码海报生成保存相关问题记录 最近在开发H5页面中遇到二维码生成保存并下载到系统相册中的问题.问题大致分为:生成海报不全,未按照H5页面的显示进行海报保存,图片模糊等相关问题. 使用技术:qrc ...

  3. CRM客户关系管理系统开发第十八讲——实现客户拜访记录管理模块中保存客户拜访记录的功能

    跳转到客户拜访记录添加页面 要想实现客户拜访记录管理模块中的保存客户拜访记录的功能,首要前提就是点击新增客户拜访超链接之后要能跳转到客户拜访记录添加页面.前面我们都做完两个模块了,做到这一点还不是依葫 ...

  4. VUE保存页面的数据,VUE页面显示就执行某个函数,VUE页面隐藏就执行某个函数

    用 VUE 默认的 keep-alive 组件实现 保存页面的数据,页面显示就执行某个函数,页面隐藏就执行某个函数实现方式: 1.在路由内设置页面是否需要缓存: 示例代码:(在需要的组件里面添加met ...

  5. [IOS]UIWebView实现保存页面和读取服务器端json数据

    如何通过viewView保存访问过的页面?和如何获取并解析服务器端发送过来的json数据?通过一个简单的Demo来学习一下吧! 操作步骤: 1.创建SingleViewApplication应用,新建 ...

  6. Nginx 403 Forbidden 排错记录汇总

    记录一 当你将 nginx 作为 web server 的时候,403 错误主要是下面两条原因: 一.所有者对目录没有写的权限. 此时可用 chmod 777 目录名 先完全放开权限,如果问题解决,则 ...

  7. 保存页面供以后使用Firefox的阅读列表扩展

    I spend an enormous amount of time browsing the web looking for new ideas to write about, so one of ...

  8. ios 获取html中的json数据,[IOS]UIWebView实现保存页面和读取服务器端json数据

    #import"ViewController.h" @interfaceViewController() @end @implementation ViewController - ...

  9. OCR图文识别软件是怎么保存页面图像的

    2019独角兽企业重金招聘Python工程师标准>>> ABBYY FineReader作为一款OCR图文识别软件,可以保存识别的页面图像,包括扫描的文档,当文档非常大时,可以仅选取 ...

  10. uniapp点击按钮 保存页面为图片到本地

    uniapp点击按钮 保存页面为图片到本地 首先写一个按钮 创建事件 <button class="info" @click="capture()"> ...

最新文章

  1. 淘宝二面,面试官居然把TCP三次握手问的这么详细
  2. HTML(5)+CSS(3)--那些不知道但重要的知识!
  3. SQLServer数据库的表管理
  4. python定义一个_Python,包括定义一个类
  5. jhsdb:JDK 9的新工具
  6. c:forEach varStatus属性
  7. 开源软件冲破云霄,“机智号”直升机首飞成功,还带来了第一个火星机场!...
  8. Windows11安装WSA教程android子系统安装方法(22000+dev) Msixbundle(1.2GB) 安装包下载
  9. 交换机连接控制器_MESH路由器组网指南,各种连接方法
  10. 面试系列-3 限流场景实践
  11. Codeforces Contest 1138 problem B Circus —— 死亡1700,暴力
  12. Kafka 官方文档1(中文)
  13. 为什么要ReLU激活函数
  14. dwz 表单提交 html,DWZ文件上传表单提交
  15. rfid考勤系统mysql_通过使用Arduino将Python发送RFID数据到MySQL服务器的考勤系统
  16. 2017.7.10 noi2008 假面舞会
  17. boundary()函数寻找三维平面点云精确边界(二)
  18. unity3d 模拟电脑实现_基于Unity3D三维电脑组装实验系统的实现
  19. 2022-2028中国等级5Ti-6Al-4V合计市场现状研究分析与发展前景预测报告
  20. ETM黄皮书全球首发

热门文章

  1. python pyecharts绘制网络关系图
  2. 国外 计算机专业 网站,国外计算机类核心期刊及其网站
  3. 网站icp备案服务器ip,域名已有icp备案更换服务器
  4. Segmentation Measures
  5. [工具(前端)] 后台管理模板
  6. html%3c怎么表示,怎么打出英寸符号 英寸和英尺分别用什么符号表示?
  7. macOS 桌面应用 图标制作教程
  8. 【开发环境】Ubuntu 安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Ubuntu 安装 deb 包 )
  9. 安卓原生镜像(中国网站)
  10. ASP.NET MVC入门