# 修复中文乱码问题 ## 问题原因 1. 数据库连接 URL 使用的是 `characterEncoding=utf8` 而不是 `utf8mb4` 2. 已插入的数据使用错误的编码保存 ## 解决步骤 ### 步骤 1: 清理乱码数据 在数据库中执行: ```sql -- 删除表中的乱码数据 DELETE FROM loan_pricing_workflow; ``` 或删除表重建: ```sql DROP TABLE IF EXISTS `loan_pricing_workflow`; -- 然后重新执行 sql/loan_pricing_workflow.sql ``` ### 步骤 2: 重启服务 配置文件已更新,需要重启后端服务使配置生效: ```bash # 停止当前服务 pkill -f "ruoyi-admin.jar" # 重新打包(可选,如果没有修改代码) cd d:\利率定价\loan-pricing-892\loan-pricing-892-v2.0 mvn clean package -Dmaven.test.skip=true # 启动服务 cd ruoyi-admin/target java -jar ruoyi-admin.jar ``` ### 步骤 3: 重新执行测试 ```bash cd d:\利率定价\loan-pricing-892\loan-pricing-892-v2.0 bash run-api-tests.sh ``` ## 配置说明 已修改的配置文件:`ruoyi-admin/src/main/resources/application-dev.yml` 修改前: ```yaml url: jdbc:mysql://...?useUnicode=true&characterEncoding=utf8&... ``` 修改后: ```yaml url: jdbc:mysql://...?useUnicode=true&characterEncoding=utf8mb4&... ``` ## 验证方法 重启服务并插入新数据后,检查数据库: ```sql SELECT serial_num, cust_name, cust_type, guar_type FROM loan_pricing_workflow; ``` 中文应该正常显示,例如: - cust_name: "张三" (而不是乱码) - cust_type: "个人" (而不是乱码) - guar_type: "信用" (而不是乱码)