76 lines
1.5 KiB
Markdown
76 lines
1.5 KiB
Markdown
|
|
# 修复中文乱码问题
|
||
|
|
|
||
|
|
## 问题原因
|
||
|
|
|
||
|
|
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: "信用" (而不是乱码)
|