Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Не распознается кодировка


Автор: Хоббит 4.10.2007, 12:02
Вот такой код

Код

$dataXml = DATADIR.'login.xml';
  $templateXsl = TEMPLATEDIR.'login.xsl';

$xsltProcessor  = new XsltProcessor();
$xsltProcessor->importStyleSheet(DomDocument::load($templateXsl));
echo $xsltProcessor->transformToDoc(DomDocument::load($dataXml))->saveXml();


В заголовке xml  файла прописано
Код

<?xml version="1.0" encoding="utf-8" ?>


В заголовке xsl файла прописано
Код

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0"   
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns="http://www.w3.org/1999/xhtml"
  exclude-result-prefixes="xhtml">

  <xsl:output
    encoding="utf-8"
    method="xml"
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
    doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
    indent="no"
  />

  <xsl:template match="/">

    <html>      
      
      <head>        
        
        <meta http-equiv="Cache-Control" content="no-cache" />
        <meta http-equiv="pragma" content="no-cache" />
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
      </head>
...
      <body>
      </body>
</html>


Страница в браузере должна быть в кодировке utf-8. Открывается в win-1251. В чем может быть дело?
Форматы файла xml и xsl utf-8.

Автор: webevt 7.10.2007, 09:52
Код

header("Content-type: text/plain; charset=utf-8");

оно?

Автор: sw04 7.10.2007, 14:58
Цитата(webevt @  7.10.2007,  12:52 Найти цитируемый пост)
оно? 

не то же самое?
Цитата(Хоббит @  4.10.2007,  15:02 Найти цитируемый пост)
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>


Автор: chin 7.10.2007, 23:39
sw04, 
Цитата(sw04 @  7.10.2007,  14:58 Найти цитируемый пост)
не то же самое?

Так надежнее ;)
Кстати, text/xml
Код

header("Content-type: text/xml; charset=utf-8");

Автор: teroni 8.10.2007, 10:23
Цитата(sw04 @  7.10.2007,  14:58 Найти цитируемый пост)
не то же самое?
Цитата(Хоббит @  4.10.2007,  15:02 Найти цитируемый пост)
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>

Неа, разные вещи... Если сервер выдаёт в ответе на http запрос например 1251 кодировку, то хоть пиши
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>, хоть не пиши - браузер будет все равно думать, что это 1251.
А вот header в такой ситуации спасает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)