delphi cef写入html,Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到 变问号?的处理...

在Delphi XE 10.2.3中使用CEF4Delphi遇到网页元素内的" "被显示为"?"的问题。通过参考文章,采用URLEncode和URLDecode的方法转换字符串,解决了" "转为空格的难题。然而,使用Httpapp.HttpEncode和HttpDecode时出现警告,提示已弃用,推荐使用TNetEncoding.URL.Encode和TNetEncoding.URL.Decode。通过了解,发现这两个函数实际上直接调用了TNetEncoding.URL的相关方法。
摘要由CSDN通过智能技术生成

用CEF4Delphi取网页元素时碰到ElementInnerText里含有" "

比如网页源码里是"内容 "取出来显示就变成"内容?"

搜索大部分是说把" "替换成其它字符即可

但实际操作怎么也替换不了,就算变量为AnsiString也不行

最后用了以下方法解决

参考网页:

https://blog.csdn.net/qq_29683707/article/details/80860904

关于&nbsp空格转成正常空格‘ ’的方法

1>先把字符串转码 let data = encodeURI(要转化的值)

2>接下来替换掉&nbsp空格 data = data .replace(/%C2%A0/g,'%20');

3>再转回来就ok了 data = decodeURI(data);

要用到encodeURI,找到Delphi版的

http://www.delphitop.com/html/zifuchuan/2599.html

方法1

user  Httpapp;

HttpEncode(AnsiToUtf8('中文'));

方法2

uses

IdURI;

..

begin

S := TIdURI.URLEncode(str);

//

S := TIdURI.URLDecode(str);

end;

使用方法2的TIdURI.URLEncode,程序出错,原因不明

使用方法1成功

直接 TmpTitle:= HTTPEncode(TmpTitl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值