注册 登录
编程论坛 VFP论坛

httpserver 返回 汉字认不到?有什么高级办法不?

ljb8864 发布于 2023-08-12 12:22, 654 次点击
TEXT TO XmlStr  TEXTMERGE NOSHOW PRETEXT 3
Username=%D5%C5%C8%FD&Password=123&Submit=%B5%C7%C2%BC
ENDTEXT

strWebserviceURL ="http://192.168.11.14"

objHTTP.Open("POST", strWebserviceURL,.F.) &&'默认是POST方式

objHTTP.setRequestHeader("Content-Type", "application/text")

objHTTP.send(XmlStr)    &&'XmlInput是Ws的参数
r= STRCONV( objHTTP.responseTEXT,11)



<html lang="zh-cn"><body><form name="Login" action="" method="get">
????<input class="input" type="text" name="Username" value="??" size="20" />
??<input class="input" type="password" name="Password" value="123" size="20" />
<input class="btn" type="submit" name="Submit" value="???" style="width:80px" />
</form></body></html>

但是使用_cliptext=objHTTP.responseTEXT 则汉字正常
<html lang="zh-cn"><body><form name="Login" action="" method="get">
用户名<input class="input" type="text" name="Username" value="张三" size="20" />
密码<input class="input" type="password" name="Password" value="123" size="20" />
<input class="btn" type="submit" name="Submit" value="登录" style="width:80px" />
</form></body></html>
5 回复
#2
吹水佬2023-08-12 12:31
r= objHTTP.responseTEXT
#3
csyx2023-08-12 12:46
如果你确定服务端返回的是 utf-8 编码串,要使用 responseBody 而不是 responseText 来解码
responseText 是已经被 vfp(按 ansi 方法)错误解码过的,responseBody 才是原始的
#4
ljb88642023-08-12 12:57
回复 2楼 吹水佬

r=  objHTTP.responseBody

有用?

[此贴子已经被作者于2023-8-12 13:00编辑过]

#5
吹水佬2023-08-12 14:20
以下是引用ljb8864在2023-8-12 12:57:56的发言:


r=objHTTP.responseBody

有用?

responseBody 是服务端发送的原始数据,UTF-8编码的较多。
responseTEXT 是经过VFP解析过的文本。
可以试试看:
r = STRCONV(objHTTP.responseBody,11)
r = objHTTP.responseTEXT
#6
ljb88642023-08-12 14:41
回复 5楼 吹水佬
可以了。使用BODY
1