为Hubspot>Zapier>Webhook>CRM强制启用UTF-8编码
解决Zapier传输Hubspot线索数据非UTF-8编码问题
方法1:用Zapier Code步骤手动转码
在Zapier流程里加一个Code by Zapier(选Python)步骤,把传入的JSON数据重新编码为UTF-8:
import json # 从Zapier获取原始数据,替换成你实际的字段名 raw_data = input_data.get('hubspot_lead_data', '') # 先按当前编码解码,再转UTF-8,若实际编码不是ISO-8859-1,自行替换测试 decoded_data = raw_data.encode('ISO-8859-1').decode('utf-8') json_data = json.loads(decoded_data) # 输出UTF-8编码的JSON字符串 return {'utf8_encoded_data': json.dumps(json_data, ensure_ascii=False)}
之后把这个步骤的输出传给Webhook即可。
方法2:修改Webhook接收端的编码逻辑
如果Zapier端不好调整,直接在Webhook接收服务里强制用UTF-8解析:
- Python Flask示例:
from flask import Flask, request import json app = Flask(__name__) @app.route('/webhook', methods=['POST']) def handle_webhook(): # 强制以UTF-8解码请求体 raw_content = request.get_data().decode('utf-8') parsed_data = json.loads(raw_content) # 后续业务逻辑 return 'Success'
- Node.js示例:
const express = require('express'); const app = express(); // 强制设置UTF-8编码解析请求 app.use(express.json({ charset: 'utf-8' })); app.post('/webhook', (req, res) => { const leadData = req.body; // 后续业务逻辑 res.send('Success'); });
方法3:检查Hubspot原始数据编码
确认Hubspot里的线索数据本身是否编码异常:
- 检查线索中的特殊字符(中文、特殊符号)在Hubspot后台是否正常显示
- 如果是表单提交的线索,确保表单本身设置了UTF-8编码;如果是API创建的线索,请求头里加上
Content-Type: application/json; charset=utf-8
内容的提问来源于stack exchange,提问作者user9918735
相关产品推荐
相关产品推荐

