用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(TmpTitle); 即可

但编译器提示警告

[dcc32 Warning] uMiniBrowser.pas(469): W1000 Symbol 'HTTPEncode' is deprecated: 'Use TNetEncoding.URL.Encode'

[dcc32 Warning] uMiniBrowser.pas(471): W1000 Symbol 'HTTPDecode' is deprecated: 'Use TNetEncoding.URL.Decode'

[dcc32 Hint] uMiniBrowser.pas(469): H2443 Inline function 'HTTPEncode' has not been expanded because unit 'System.NetEncoding' is not specified in USES list

[dcc32 Hint] uMiniBrowser.pas(471): H2443 Inline function 'HTTPDecode' has not been expanded because unit 'System.NetEncoding' is not specified in USES list

意思是HTTPEncode和HTTPDecode已经弃用请用TNetEncoding.URL.Encode和TNetEncoding.URL.Decode

点进HTTPEncode看看

function HTTPDecode(const AStr: string): string;beginResult :=TNetEncoding.URL.Decode(AStr);end;function HTTPEncode(const AStr: string): string;beginResult :=TNetEncoding.URL.Encode(AStr);end;

其实就直接调用了

TNetEncoding.URL.Encode

所在单元是 System.NetEncoding

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

  1. Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到nbsp;变问号?的处理

    用CEF4Delphi取网页元素时碰到ElementInnerText里含有" " 比如网页源码里是"内容 "取出来显示就变成"内容?" 搜 ...

  2. delphi XE 10实现App和PC下TreeView调用ImageList和Sqlite数据

    delphi XE 10实现App和PC下TreeView调用ImageList和Sqlite数据 一.工程 program TreeView; usesSystem.StartUpCopy,FMX. ...

  3. Delphi XE 10.4 FMX ListView 一个不易察觉的 BUG

    Delphi XE 10.4 FMX ListView 一个不易察觉的 BUG 在使用 ListView DynamicAppearance 时发现非常强大,可以加很多东西,但没有发现复选框(哪位大佬 ...

  4. delphi xe 10.3 firemonkey stringdrig 插入,删除,添加

    以下是在WIN7 64 ,delphi xe 10.3 以下成功运行: 运行界面: 代码 unit Unit1; interface uses   System.SysUtils, System.Ty ...

  5. Delphi XE 10 跨平台三层数据库应用教程

    Delphi XE 10 跨平台三层数据库应用教程 Delphi XE 开始越来越庞大,比经典的Delphi7难用,但依然是目前所有跨平台开发工具中开发效率最高.最容易上手的,其快速设计RAD理念是无 ...

  6. delphi xe 10.3 用FastReport打印预览当前记录

    以下在WINDOWS10  + DELPHI XE 10.3   FireDAC +SQL SERVER 2008   下通过: 第一步,创建如下表单: 第二步  拖入以下几个控件: frxDBDat ...

  7. Delphi XE 10 跨平台三层数据库笔记

    Delphi XE 开始越来越庞大,比经典的Delphi7难用,但依然是目前所有跨平台开发工具中开发效率最高.最容易上手的,其快速设计RAD理念是无与伦比的符合人性. 目前网上XE10类似教程很少,而 ...

  8. codeTyphon7.0里面的cef版本是79.0.10,貌似79.xxx都可以用

    codeTyphon7.0里面的cef版本是79.0.10,貌似79.xxx都可以用,81.XXX,实测不能用,提示版本不对.3.XXX的也不行. 下载的时候要注意. 下载地址在pas提示里面 // ...

  9. delphi基础01-delphi表达式、delphi运算符、delphi函数调用、delphi集合构造函数、delphi索引、(值或变量)delphi类型转换

    delphi基础01-表达式.运算符.函数调用.集合构造函数.索引.(值或变量)类型转换 整理出来,供大家学习使用: http://docwiki.embarcadero.com/RADStudio/ ...

最新文章

  1. linux小知识之硬盘健康状态检测
  2. spring JdbcTemplate 在项目中的浅层(5个使用场景)封装
  3. Carmaer 500W 逆变器初步测试
  4. SQLServer2008安装失败的解决办法
  5. JQUERY输入改变事件change
  6. [Android Pro] ant 编译android工程
  7. mysql定时增量备份_Mysql日常自动备份和增量备份脚本
  8. 32G内存手机到底够用吗?看完泪崩
  9. drools 7.x 事件元数据
  10. vue hot true 不起作用_Vue + Flask 小知识(二)
  11. C++之指针探究(七):void指针、空指针、野指针、各种零所代表的含义
  12. SQL Server中的T-SQL元数据功能的完整指南
  13. python客户端与服务器端通信_python客户端与服务器端的通信
  14. Virtuabox 虚拟机克隆方法
  15. sql注入检测工具 mysql_Java自动化SQL注入测试工具—jSQL Injection v0.5
  16. 《共同警戒区》观后感(r10笔记第97天)
  17. 为什么计算机连不上无线网络,电脑总是连不上无线怎么回事
  18. katana 靶机 wp
  19. 第二届邯郸钢铁展洽会 | 图扑软件荣获“2022钢铁行业智造之星奖”
  20. Vxe Table一些简单的应用和踩坑记录

热门文章

  1. 第一篇博客,写给自己
  2. 如何进行服务器备份操作系统,如何进行服务器备份操作系统
  3. k8s-CKS真题-CIS基准测试与安全扫描
  4. 扫地机器人哪个牌子好?合格的扫地机器人推荐
  5. 如何把一张图片放到网页上或者如何在浏览器查看一张图片
  6. php本地浏览器调试,php浏览器端调试输出方法
  7. Docker安装java环境并部署jar包运行
  8. java long转日期,long转String
  9. 环境变量的作用,为什么要要设置环境变量PATH
  10. Linux 的体系结构结构