我们如何从TWebRequest的内容字段中检索实际的unicode字符串。当我尝试读取TWebRequest的内容字段以获取输入的unicode值时,我在文本中输入了内容,但看到的是加扰值,而不是实际值。
我输入的是Добро,但在内容字段中看到的是值“Добро¾。 Response内容类型设置为text / html和charset ='UTF-8'。
任何人都可以告诉我为什么它不显示在文本框中输入的实际值以及如何更正该值。

我正在测试的示例代码

procedure TWebModule1.WebModule1HelloAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
  s : string;
  PageProducer1 : TPageProducer;
begin
  Response.ContentType := 'text/html;charset=UTF-8';
  s := Request.ContentFields.Text;
  PageProducer1 := TPageProducer.Create(nil);
  try
    PageProducer1.HTMLFile := 'C:\Hello.tmpl';
    PageProducer1.OnHTMLTag := PageProducer1HTMLTag;
    Response.Content := PageProducer1.Content + ' ' + 'Entered string:' + s;
  finally
    PageProducer1.Free;
  end;
end;


Hello.tmpl只有文本框和提交按钮

最佳答案

您可以使用UTF8ToString函数将您的UTF-8字符串转换为UnicodeString

10-05 22:26