47 lines
1.6 KiB
Markdown
47 lines
1.6 KiB
Markdown
# 中文数据修复实施记录
|
|
|
|
## 问题现象
|
|
|
|
- 目标库 `116.62.17.81:3307/loan-pricing` 中系统菜单、角色、用户昵称等中文字段显示为 `?`
|
|
|
|
## 根因结论
|
|
|
|
- 源库 `116.62.17.81:3306/loan-pricing` 中中文数据实际是正确的 UTF-8 字节
|
|
- 通过 `SET NAMES utf8mb4` 读取源库时,可以正确得到中文内容
|
|
- 之前生成的 `sql/loan_pricing_required_data_20260328.sql` 由 `mysqldump` 产出,文件中的中文已经被导出成问号
|
|
- 目标库乱码不是 collation 调整导致,而是导入了这份已损坏的数据 SQL
|
|
|
|
## 本次修复
|
|
|
|
- 放弃使用已损坏的 `mysqldump` 数据文件
|
|
- 直接从源库 `3306` 以 `utf8mb4` 正确读取 17 张必要数据表
|
|
- 将这 17 张表重新覆盖写入目标库 `3307`
|
|
- 重新生成 `sql/loan_pricing_required_data_20260328.sql`,确保文件内中文内容为正常 UTF-8
|
|
|
|
## 修复范围
|
|
|
|
- `loan_pricing_workflow`
|
|
- `model_corp_output_fields`
|
|
- `model_retail_output_fields`
|
|
- `sys_config`
|
|
- `sys_dept`
|
|
- `sys_dict_data`
|
|
- `sys_dict_type`
|
|
- `sys_job`
|
|
- `sys_menu`
|
|
- `sys_notice`
|
|
- `sys_post`
|
|
- `sys_role`
|
|
- `sys_role_dept`
|
|
- `sys_role_menu`
|
|
- `sys_user`
|
|
- `sys_user_post`
|
|
- `sys_user_role`
|
|
|
|
## 验证结果
|
|
|
|
- 目标库 `sys_user.nick_name` 已恢复为 `若依`、`测试管理员`
|
|
- 目标库 `sys_role.role_name` 已恢复为 `超级管理员`、`普通角色`、`管理员`
|
|
- 目标库 `sys_menu.menu_name` 已恢复为 `系统管理`、`利率定价管理`、`流程列表`
|
|
- 重新生成的 `sql/loan_pricing_required_data_20260328.sql` 中已包含 `管理员`、`若依`、`系统管理`、`用户管理`、`利率定价管理`
|