起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 1165|回复: 23

【结】有办法把TMemo的内容导出编码格式为UTF-8的html文件吗?

[复制链接]
发表于 2010-4-29 16:12:58 | 显示全部楼层 |阅读模式
我想把TMemo的内容导出为本地的html文件,由于涉及到其他访问,
此文件的编码格式必须为UTF-8,所以想问各位高手,是否有办法
把TMemo的内容导出为UTF-8的html文件?
回复

使用道具 举报

发表于 2010-4-29 16:53:18 | 显示全部楼层
procedure TMainForm.Button2Click(Sender: TObject);
var
   XMLDocument1:TXMLDocument;
begin
  memo1.Clear;
  memo1.Lines.Add('<?xml version="1.0" encoding="GBK"?>');
  memo1.Lines.Add('<TransResponse>我是中国人</TransResponse>');
  XMLDocument1:=TXMLDocument.Create(Self);
  with XMLDocument1 do
  begin
    XML.Add(Memo1.Text);
    Active := True;
    Encoding := 'UTF-8';

    //DocumentElement.AddChild('Version',0).NodeValue := '1.0';   //整段代码编译通过,运行到这一句就报错
    SaveToFile('E:\test1.xml');
  end;
end;

这样行么?
回复 支持 反对

使用道具 举报

发表于 2010-4-29 16:54:36 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-29 17:10:27 | 显示全部楼层
TXMLDocument 还是不行啊,把HTML标签写进去后,运行到Active := True;这里,就报错,格式不对,如果注销这行//Active := True;  或改为Active := False;则运行到Encoding := 'UTF-8'; 处,就报错,无法编码。
回复 支持 反对

使用道具 举报

发表于 2010-4-29 17:15:11 | 显示全部楼层
memo1.Lines.Add('<?xml version="1.0" encoding="GBK"?>');
如果xml文件中有中文,那么memo中的encoding必须是上面这样,
然后在调用Encoding := 'UTF-8';去修改
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-29 17:47:11 | 显示全部楼层
加了<?xml version="1.0" encoding="UTF-8"?>后,文件第一次打开,都是乱麻的,用文本文件打开后,把<?xml version="1.0" encoding="UTF-8"?> 去掉,然后保存,勉强可以显示。
有没有其他方法没有呢?
回复 支持 反对

使用道具 举报

发表于 2010-4-30 09:00:41 | 显示全部楼层
Memo中的头应该是:<?xml version="1.0" encoding="GBK"?>
不是UTF-8
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-30 09:14:50 | 显示全部楼层
没错,Memo中的头是:<?xml version="1.0" encoding="GBK"?>,可是经过如下处理后,
  Encoding := 'UTF-8';
    SaveToFile('E:\test1.html');
保存在本地的html文件的头部就会变换为<?xml version="1.0" encoding="UTF-8"?>,这个好像
也不是HTML的标签。
回复 支持 反对

使用道具 举报

发表于 2010-4-30 09:44:57 | 显示全部楼层
如果是乱码那么在memo中加一句看看:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-30 11:41:01 | 显示全部楼层
这样将就可行,但还差一步,就是文件内容里的JavaScript脚本的>或<全部被转义符号替换了,
结果本来是 if (JWD.indexOf('','') > 0)'); ,却变成了 if (JWD.indexOf('','') &gt; 0)'); 脚本自然报错。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 11:38 , Processed in 0.037372 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表