ZhekaNerush
Новичок
Проблема с кодировкой при попытке генерирования xml-документа из таблицы mysql.
PHP 5.1.4, MySQL 5.0.22
Есть таблица HELP, кодировка по умолчанию latin1.
/*===============================*/
/* Table: HELP */
/*===============================*/
create table HELP
(
HLP_ID smallint not null auto_increment,
HLP_HD varchar(200)
primary key (HLP_ID)
)
type = MyISAM;
Нужно получить xml-документ в кодировке cp1251 на основе данных таблицы HELP.
1. Задаю переменные сесии mysql:
--
mysql_query("SET SESSION character_set_client=cp1251");
mysql_query("SET SESSION character_set_connection=cp1251");
mysql_query("SET SESSION character_set_results=cp1251");
mysql_query("SET SESSION character_set_server=cp1251");
2. Создаю документ xml:
--
$this->xml = new DOMDocument("1.0","cp1251");
$this->xmlRoot = $this->xml->createElement("root");
while($this->tmpResult = mysql_fetch_array($this->queryResult)){
$this->xmlItem = $this->xml->createElement("item");
$this->xmlItem->setAttribute("id", $this->tmpResult["HELP_ID"]);
$this->xmlItem->appendChild($this->xml->createElement("head",$this->tmpResult["HELP_HD"]));
$this->xmlRoot->appendChild($this->xmlItem);
$this->tmpResult = mysql_fetch_array($this->queryResult)
}
$this->xml->appendChild($this->xmlRoot);
$this->xml->saveXML();
$this->xml->save("test.xml");
3. На выходе получаю:
--
<?xml version="1.0" encoding="cp1251"?>
<root>
<item id="1">
<head>?? ????????? ? ??????? ????????</head>
</item>
<item id="2">
<head>???????? ???????? ABC ?? ????????? </head>
</item>
<item id="3">
<head>????? xyz ??? ??????? ?? ????????? </head>
</item>
</root>
Что я не так делаю, что бы получить даные в кодировке cp1251 ?
P.S. Смена кодировки таблицы HELP с latin1 на cp1251 результат на выходе не изменила.
Помогите....
PHP 5.1.4, MySQL 5.0.22
Есть таблица HELP, кодировка по умолчанию latin1.
/*===============================*/
/* Table: HELP */
/*===============================*/
create table HELP
(
HLP_ID smallint not null auto_increment,
HLP_HD varchar(200)
primary key (HLP_ID)
)
type = MyISAM;
Нужно получить xml-документ в кодировке cp1251 на основе данных таблицы HELP.
1. Задаю переменные сесии mysql:
--
mysql_query("SET SESSION character_set_client=cp1251");
mysql_query("SET SESSION character_set_connection=cp1251");
mysql_query("SET SESSION character_set_results=cp1251");
mysql_query("SET SESSION character_set_server=cp1251");
2. Создаю документ xml:
--
$this->xml = new DOMDocument("1.0","cp1251");
$this->xmlRoot = $this->xml->createElement("root");
while($this->tmpResult = mysql_fetch_array($this->queryResult)){
$this->xmlItem = $this->xml->createElement("item");
$this->xmlItem->setAttribute("id", $this->tmpResult["HELP_ID"]);
$this->xmlItem->appendChild($this->xml->createElement("head",$this->tmpResult["HELP_HD"]));
$this->xmlRoot->appendChild($this->xmlItem);
$this->tmpResult = mysql_fetch_array($this->queryResult)
}
$this->xml->appendChild($this->xmlRoot);
$this->xml->saveXML();
$this->xml->save("test.xml");
3. На выходе получаю:
--
<?xml version="1.0" encoding="cp1251"?>
<root>
<item id="1">
<head>?? ????????? ? ??????? ????????</head>
</item>
<item id="2">
<head>???????? ???????? ABC ?? ????????? </head>
</item>
<item id="3">
<head>????? xyz ??? ??????? ?? ????????? </head>
</item>
</root>
Что я не так делаю, что бы получить даные в кодировке cp1251 ?
P.S. Смена кодировки таблицы HELP с latin1 на cp1251 результат на выходе не изменила.
Помогите....