前言
本次使用Navicat时遇到了2个数据库相关的bug,但是是同一个原因导致的。
这两个故障分别是:
- 中文乱码
- 无法执行带中文注解的SQL语句
由于我是先遇到困难,再依次解决表面问题,最后才发现根本问题。
因此本次我将先讲核心解决方案,再讲故障的具体表现。
一方面方便遇到同类型故障的人可以更为轻松的找到适合自己的解决方案,另一方面,本次解决故障的思路值得作为参考。
核心解决方案
本次故障的根本原因是Navicat连接数据库时编码选择错误,我原本的编码为936(ANSI)当我修改编码为自动时,两个故障不会发生。
需要注意的是,应该改为自动而不是(65001)utf-8
修改如下:
故障1:Failed to update tables dictionary object
含义直译为:未能更新表字典对象。
这个故障是我在进行数据库导入的时候发生的,并且发生多处,初步搜索同类型问题后得到基础解决方案:
删除中文注解。
删除后导入成功,但是后期排