首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >德尔福XE7,Unicode在WebBroker上显示PageProducer的问题

德尔福XE7,Unicode在WebBroker上显示PageProducer的问题
EN

Stack Overflow用户
提问于 2015-01-28 12:06:58
回答 1查看 799关注 0票数 1

我正在编写一个多语言WebBroker应用程序(用于Apache2.2),该应用程序显示来自oracle数据库的unicode编码数据。在用Delphi XE7编写的测试程序中,具有相同数据感知组件(Devart‘same )的相同数据正在正确显示。我的问题发生在WebBroker中,当我在操作中使用以下代码时,当我使用PageProducer为响应准备内容时,我面临着一种奇怪的行为:

代码语言:javascript
复制
Response.ContentType := 'text/html; charset=UTF-8';
PageProducer1.HTMLFile:= htmltemplate
Response.Content := 
  PageProducer1.Content+
  'Label 1 ='+Label1fromDB+
  ' Label 2='+Label2fromDB+
  '</body></html>';
Response.SendResponse;

was浏览器的结果是,PageProducer没有插入但已存在于same模板文件中的所有非拉丁字符(该文件已声明为utf-8 )被其他不正确的字符替换,由PageProducer插入并从数据库中检索的文本也没有正确显示,但添加到内容响应中的额外标签、Label1fromDB和Label2fromDB显示在上面的代码中,它们也正确地显示在same模板中具有相同的图形。

现在,当我省略声明

代码语言:javascript
复制
Response.ContentType := 'text/html; charset=UTF-8'

text模板的内容显示正确,但所有其他文本、PageProducer填充的文本以及Label1fromDB和Label2fromDB两个标签都不正确。

你能帮我确定问题出在哪里吗?为了能够通过网络代理服务unicode多语言内容,我做了些什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-29 16:08:35

您对不同的Unicode编码有问题。

PageProducer.ContentResponse.Content都是UTF16编码的字符串。您的htmltemplate是用UTF8编码的,PageProducer没有正确解释。

最有可能的原因是htmltemplate文件一开始没有UTF8 BOMPageProducer会将该文件编码解释为默认的ANSI。如果是这样的话,添加UTF8 BOM可以解决您的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28191887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档