|
|
|
| У меня тоже про кодировку есть php код для генерации XML файла.
<?php
$query = "SELECT * FROM photo WHERE hide='show' ORDER BY pos";
$new = mysql_query($query);
$text.= "<?xml version='1.0' encoding='UTF-8'?>\n";
$text.= "<sites>\n";
while($news = mysql_fetch_array($new))
{
$text.="<Photo img='$news[big]' tmb='$news[small]' name1='$news[name]' dolj='$news[name_dol]' />\r\n";
}
$text.="</sites>\n";
?>
<?php
$fd = "xmlphoto.xml";
$fd = fopen($fd, "w");
fwrite($fd, $text);
fclose($fd);
?>
|
После генерации XML используется Flash-ем. Но он не понимает кодировку после генерации. Когда сохраняю в ручную XML, через блокнот, в формате UTF-8, то все работает. Что делать помогите. Пытался написать в config.php @mysql_query("SET NAMES UTF-8"); не помогает. | |
|
|
|
|
|
|
|
для: Usta
(13.04.2008 в 19:45)
| | Попробуй mysql_query("SET NAMES `utf-8`;"); Твой синтаксис может и не понять. Не проверял, не знаю | |
|
|
|
|
|
|
|
для: 3423
(13.04.2008 в 19:58)
| | Не помогает. :)) | |
|
|
|
|
|
|
|
для: 3423
(13.04.2008 в 19:58)
| |
mysql_query ("set character_set_client='UTF-8'");
mysql_query ("set character_set_results='UTF-8'");
mysql_query ("set collation_connection='UTF-8_general_ci'");
|
| |
|
|
|
|
|
|
|
для: BiFF
(13.04.2008 в 21:30)
| | Не помогло. Тут наверно не в этом дело. Тут дело в кодировке ANSI. Когда я кидаю файл на сервак в кодировке UTF-8, то работает. После генерации XML, файл опять становиться ANSI. Нужно чтоб после генерации остался UTF-8. | |
|
|
|
|
|
|
|
для: Usta
(13.04.2008 в 22:40)
| | попробуй перед записью в файл fwrite($fd, $text); перевести текст в utf-8 с помощью iconv(); | |
|
|
|
|
|
|
|
для: Usta
(13.04.2008 в 19:45)
| | А в какой кодировке сохраняется файл? | |
|
|
|
|
|
|
|
для: cheops
(14.04.2008 в 12:39)
| | Новерное в ANSI, или в windows-1251. Я написал.
// Имя файла
$fd = "xmlphoto.xml";
// Сохраняем результат в файле
$fd = fopen($fd, "w");
iconv("cp1251","UTF-8",$fd);
// или iconv("ANSI","UTF-8",$fd);
// или iconv("windows-1251","UTF-8",$fd);
fwrite($fd, $text);
fclose($fd);
|
Ни один вариант не помог :(( | |
|
|
|
|
|
|
|
для: Usta
(14.04.2008 в 15:26)
| | хм.. еще бы..
кодировать то не ресурс надо, а текст!
т.е. iconv("ANSI","UTF-8",$text); | |
|
|
|
|
|
|
|
для: Usta
(13.04.2008 в 19:45)
| | @mysql_query("SET NAMES cp1251"); и ваша UTF-8 будет нормально записыватся и выводится из БД как СЂРѕСЂСЂРѕСЂРѕ (РђРґРјРёРЅ) ..... | |
|
|
|
|
|
|
|
для: Giga
(14.04.2008 в 18:24)
| | >@mysql_query("SET NAMES cp1251"); и ваша UTF-8 будет нормально записыватся и выводится из БД как СЂРѕСЂСЂРѕСЂРѕ (РђРґРјРёРЅ) .....
Я так уже пробовал. не получается.
Пробовал и iconv("ANSI","UTF-8",$text); другие кодировки и не фига. Все равно не пашет.
Нужно наверное файл в другую кодировку перевести или чтоб файл удалялся и создавался новый!! Опять все через мягкое место получается!! Вроде файл маленький, а проблем полно. Спасибо всем за помощь, кто пытался помочь. | |
|
|
|
|
|
|
|
для: Usta
(14.04.2008 в 18:46)
| | Все решил проблему с кодировкой! Если у вас FLASH читае XML и русскими буквами, то вам это пригодится. Код переводит файл из кодировки ANSI в UTF-8. По крайне мере FLASH читает XML и понимает наличие в ней русских букв. Не забудьте ставить в конце "\r\n" после каждой строки иначе может не сработать.
<?php
mysql_query("SET NAMES UTF8");
$query = "SELECT * FROM photo WHERE hide='show' ORDER BY pos";
$new = mysql_query($query);
$text.="<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\r\n";
$text.= "<sites>\r\n";
while($news = mysql_fetch_array($new))
{
$text.="<Photo img='$news[big]' tmb='$news[small]' name1='$news[name]' dolj='$news[name_dol]' />\r\n";
}
$text.="</sites>\r\n";
echo $text;
?>
<?php
// Имя файла
$fd = "xmlphoto.xml";
// Сохраняем результат в файле
$fd = fopen($fd, "w");
// iconv("UTF8","UTF8",$text);
iconv("ANSI","UTF-8",$text);
fputs($fd, $text);
fclose($fd);
?>
|
| |
|
|
|