delphi TidHTTPServer修改HTML

bfrts1fy  于 2023-06-22  发布在  其他
关注(0)|答案(1)|浏览(135)

我使用TIdHTTPServer来托管大量现有的HTML文件。但是,我有一个问题,它返回更改的HTML。主要是,双引号()被替换为像“这样的jibberish。在Edge中直接从我的文件系统查看HTML文件显示得很好,但是当通过这个Indy HTTP服务器提供服务时,相同的页面/文件会被更改。
我通过TFileStream返回文件,如下所示:

FS:= TFileStream.Create(FN, fmOpenRead);
    AResponseInfo.ContentStream:= FS;

    FE:= LowerCase(ExtractFileExt(FN));
    if FMime.IndexOfName(FE) >= 0 then
      CT:= FMime.Values[FE]
    else
      CT:= 'application/octet-stream';

    AResponseInfo.ContentType:= CT; //text/html in this case

原始的HTML文件如下:

<p>“<strong>Y</strong>” = Consigned</p>

。。。看起来像这样:

但是当通过Indy服务时,HTML有:

<p>“<strong>Y</strong>†= Consigned</p>

。。。看起来像这样:

出了什么问题,我该如何解决?

to94eoyn

to94eoyn1#

我刚刚想明白了-我需要设置字符集:

AResponseInfo.CharSet := 'utf-8';

相关问题