You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Genexus使用HttpClient发送带换行JSON的UTF-8编码设置问题

解决方案
  • 第一步:修改Content-Type请求头,明确指定编码格式为UTF-8,将原来的头配置替换为:
&HttpClient.AddHeader('Content-Type','application/json; charset=utf-8')
  • 第二步:不要直接使用AddString方法传入字符串,Genexus的AddString默认会使用当前系统的本地编码传输内容,改为先将请求体转为UTF-8二进制流后再提交:
    把原来的
&HttpClient.AddString(&body)

替换为

&HttpClient.AddBinary(&body.ToUTF8())

额外优化建议

你当前是手动拼接JSON字符串,存在转义风险:如果CSV内容中出现双引号、反斜杠等特殊字符,会导致整个JSON结构异常。推荐使用Genexus内置的JSONObject类来构造请求体,自动处理转义和编码问题,示例如下:

&JsonObject = new()
&JsonObject.AddProperty("tipoEmision", "normal ")
&JsonObject.AddProperty("Csv", &csv)
&body = &JsonObject.ToString()

报错原因说明

你收到的报错中提到的[F3]字节,是字符ó(出现在你Factura electrónica字段中)在ISO-8859-1编码下的值,并非UTF-8编码结果,接口侧用UTF-8解码时无法识别该字节,所以抛出转换错误。

内容的提问来源于stack exchange,提问作者ferlrp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 13:18:01