Я пишу многоязычное приложение WebBroker (для Apache 2.2), которое отображает данные в кодировке Unicode из базы данных оракула. Те же данные с теми же компонентами обработки данных (Devart's ODAC) в тестовой программе, написанной на Delphi XE7, отображаются правильно. Моя проблема возникла в WebBroker, где я столкнулся со странным поведением, когда я использую PageProducer для подготовки контента к ответу. Когда я использую следующий код в действии:
Response.ContentType := 'text/html; charset=UTF-8';
PageProducer1.HTMLFile:= htmltemplate
Response.Content :=
PageProducer1.Content+
'Label 1 ='+Label1fromDB+
' Label 2='+Label2fromDB+
'</body></html>';
Response.SendResponse;
результатом в веб-браузере является то, что все нелатинские символы, которые не были вставлены PageProducer, но уже существовали в файле htmltemplate (который был объявлен как utf-8 с ), заменены другими неправильными символами, текст, который был вставлен PageProducer и был извлечен из базы данных, также не отображается правильно, но дополнительные метки, Label1fromDB и Label2fromDB, которые добавляются к ответу содержимого, как показано в приведенном выше коде, отображаются правильно, имея также те же символы, что и внутри htmltemplate.
Теперь, когда я опускаю объявление
Response.ContentType := 'text/html; charset=UTF-8'
содержимое htmltemplate отображается правильно, но все остальные тексты, текст, заполненный PageProducer, и две метки Label1fromDB и Label2fromDB неправильно
Не могли бы вы помочь мне определить, в чем проблема и что мне нужно сделать, чтобы иметь возможность обслуживать многоязычный контент в формате Unicode через веб-брокера?