DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: tkzcol
今日帖子: 4
在线用户: 1
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 bamlan (一丝清风) ★☆☆☆☆ -
盒子活跃会员
2018/5/11 11:28:01
标题:
修复10.2.3中TRegEx的replace方法替换中文返回乱码的问题 浏览:1268
加入我的收藏
楼主: 我在10.2.2中也遇到过这个问题,现在给出初步的修复方法:
TPerlRegEx的FReplacement,FSubject都是UTF8String类型,但是Replacement,Subject属性返回的是string,这些属性的get及其它相关方法中,都使用的是string()作类型转换,但这个string()默认转换utf8到string的实现是有bug的,改为utf8tostring()后可正常返回中文。

附件是改好的System.RegularExpressionsCore单元。

不得不说,现在delphi本身的代码质量有时间真是不忍直视。
此帖子包含附件:bamlan_201851111281.zip 大小:8.8K
----------------------------------------------
-
作者:
男 arhaha (lin) ★☆☆☆☆ -
盒子活跃会员
2018/5/11 16:03:11
1楼: 感谢!
----------------------------------------------
-
作者:
男 majx (skin) ★☆☆☆☆ -
普通会员
2018/5/11 19:25:11
2楼: 谢谢楼主!!!
----------------------------------------------
majx,QQ 613354940
作者:
男 bdl1 (bdl1) ▲▲▲▲▲ -
普通会员
2018/5/12 8:48:14
3楼: 谢谢楼主!!!!
----------------------------------------------
-我的博客
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/5/13 7:20:10
4楼: 建议各位去
http://qc.embarcadero.com
提交 BUG。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 bjlg (蓝天) ★☆☆☆☆ -
盒子活跃会员
2018/5/13 9:30:31
5楼: @bamlan (一丝清风):没有发现啊,

var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create;
  reg.Subject := '我爱DELPHI!';
  reg.RegEx := '我';
  reg.Replacement := '大家';
  if reg.Match then
    reg.Replace;
  ShowMessage(reg.Subject); // 返回: 大家爱DELPHI!
  FreeAndNil(reg);
end;
----------------------------------------------
http://delphi.icm.edu.pl/ftp/http://delphi-z.ru
作者:
男 bamlan (一丝清风) ★☆☆☆☆ -
盒子活跃会员
2018/5/13 12:29:48
6楼: @bjlg (蓝天)

试试:
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create;
  reg.Subject := '我爱DELPHI!';
  reg.RegEx := '(\S+?)(.*)';
  reg.Replacement := '大家abc$1好def$2';
  if reg.Match then
    reg.Replace;
  ShowMessage(reg.Subject);
  FreeAndNil(reg);
end;
----------------------------------------------
-
作者:
男 bjlg (蓝天) ★☆☆☆☆ -
盒子活跃会员
2018/5/13 13:23:04
7楼: @bamlan 都是一样的结果
我估计是是不是和系统有关,例如英文系统,可能出现问题,或者一些别的配置
为了避免文件我吧你的改成改成RegularExpressionsCore1
此帖子包含附件:
JPEG 图像
大小:180.4K
----------------------------------------------
http://delphi.icm.edu.pl/ftp/http://delphi-z.ru
作者:
男 bamlan (一丝清风) ★☆☆☆☆ -
盒子活跃会员
2018/5/13 15:54:37
8楼: 经过进一步测试,编译为64位Windows版本时才会乱码!32位Windows版本及64位Linux版本正常。
此帖子包含附件:
PNG 图像
大小:73.2K
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/5/13 17:41:24
9楼: 这个 BUG 500年之后,delphi官方应该会改掉。
----------------------------------------------
(C)(P)Flying Wang
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行100.5859毫秒 RSS