mysqld();
$query = "SELECT * FROM goods ORDER BY ID";
$result = mysql_query($query) or die ("Cannot select");
header("Content-type: application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=\"prices.xls\"");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");
print "<table>\r";
print "<tr><td><b>Код</b></td><td><b>Наименование</b></td><td><b>Видимость</b></td><td><b>Акция</b></td><td><b>Склад</b></td><td><b>Цена</b></td></tr>\r";
$x = 0;
while ($x < mysql_numrows($result)) {
$ID = mysql_result($result, $x, 'ID');
$Art = mysql_result($result, $x, 'Art');
$Head = mysql_result($result, $x, 'Head');
$Price = mysql_result($result, $x, 'Price');
$showsite = mysql_result($result, $x, 'showsite');
$Action = mysql_result($result, $x, 'Action');
$OnSklad = mysql_result($result, $x, 'OnSklad');
$P_Down = mysql_result($result, $x, 'P_Down');
$N_Price = mysql_result($result, $x, 'N_Price');
$Annotation = mysql_result($result, $x, 'Annotation');
print "<tr>\r";
print "<td>$Art</td>\r";
print "<td>$Head</td>\r";
print "<td>$showsite</td>\r";
print "<td>$Action</td>\r";
print "<td>$OnSklad</td>\r";
print "<td>$Price</td>\r";
print "</tr>\r";
$x++;
}
print "</table>\r";
mysql_close();
в файле показывает битую кодировку
кодировка БД utf8_general_ci
пробовал поменять в хэдэре header("Content-type: application/vnd.ms-excel; charset=windows-1251"); - всеравно в файле не светит кирилицу!
че делать? помогите!
Спустя 5 минут, 40 секунд (9.12.2010 - 16:01) sharki написал(а):
При передачи данных в базу делай вот это еще
в общем тебе надо поменять кодировку переменной, делается вот этой функцией
$result - это переменная в которой нужно поменять кодировку
windows-1251 - с какой
UTF-8 - на какую
$OnSklad = mysql_result(iconv("windows-1251", "UTF-8", $result), $x, 'OnSklad');
в общем тебе надо поменять кодировку переменной, делается вот этой функцией
iconv("windows-1251", "UTF-8", $result)
$result - это переменная в которой нужно поменять кодировку
windows-1251 - с какой
UTF-8 - на какую
Спустя 14 минут, 34 секунды (9.12.2010 - 16:16) novik_sasha написал(а):
Цитата |
При передачи данных в базу делай вот это еще $OnSklad = mysql_result(iconv("windows-1251", "UTF-8", $result), $x, 'OnSklad'); |
так мне надо делать при записи в базу или при считывании????
вобщем не вышло! я даже делал отдельно для каждой переменной!
iconv("windows-1251", "UTF-8", $Head);
всеравно битая кодировка!
в *.csv экспортирует нормально, а в екселем проблема.
я даже кодировку самого файла export.php менял на utf-8 и на cp1251, - пофигу!
Спустя 3 минуты, 45 секунд (9.12.2010 - 16:19) sharki написал(а):
Так, давай разберемся,
При считывании с БД с UTF8, тебе надо внести эти данные в файл EXEL?
Или наоборот, прочесть с EXEL и записать в БД?
При считывании с БД с UTF8, тебе надо внести эти данные в файл EXEL?
Или наоборот, прочесть с EXEL и записать в БД?
Спустя 54 секунды (9.12.2010 - 16:20) novik_sasha написал(а):
прочесть с базы и передать в эксель!
экспорт прайса типа!
экспорт прайса типа!
Спустя 2 минуты, 6 секунд (9.12.2010 - 16:22) sharki написал(а):
Следовательно тебе надо изменить UTF8 на WINDOWS-1251
$Head = iconv("UTF-8", "windows-1251", $Head);
Спустя 5 минут, 6 секунд (9.12.2010 - 16:27) novik_sasha написал(а):
Цитата (sharki @ 9.12.2010 - 13:22) |
Следовательно тебе надо изменить UTF8 на WINDOWS-1251 $Head = iconv("UTF-8", "windows-1251", $Head); |
))) он мне вааще выдал пустые строки где есть кириллица!
Спустя 2 минуты, 7 секунд (9.12.2010 - 16:30) sharki написал(а):
НУ я реализовывал это в файле с расширением CSV, возможно у тебя там не windows-1251 а другая например ANSI поэкспериментируй
Спустя 10 минут, 6 секунд (9.12.2010 - 16:40) novik_sasha написал(а):
Цитата (sharki @ 9.12.2010 - 13:30) |
НУ я реализовывал это в файле с расширением CSV, возможно у тебя там не windows-1251 а другая например ANSI поэкспериментируй |
та вот с CSV у меня то тоже проблем нет... мне XLS нужен....
вобщем поставил ANSI статический текст показывает нормально, а вот что из базы вытягивает, такое впечатление что у меня переменная $Head пропала:)))
Спустя 1 минута, 31 секунда (9.12.2010 - 16:41) sharki написал(а):
Цитата |
вобщем поставил ASCI статический текст показывает нормально, |
Вооот, следовательно теперь копай БД и всё норм будет =))
Спустя 54 минуты, 24 секунды (9.12.2010 - 17:36) novik_sasha написал(а):
вобщем как решил проблему!
дабы не мозолить себе "муму" перевел всю базу с таблицами в сравнение cp1251
а при общем вызове БД добавил строку mysql_query("SET NAMES cp1251");
и все заработало:)))) правда кое что перезалить надо наново, но то не проблема, всеравно товар залит был тестовый!
фух кароче! за помощь sharki тебе тоже спасибо:)
дабы не мозолить себе "муму" перевел всю базу с таблицами в сравнение cp1251
а при общем вызове БД добавил строку mysql_query("SET NAMES cp1251");
и все заработало:)))) правда кое что перезалить надо наново, но то не проблема, всеравно товар залит был тестовый!
фух кароче! за помощь sharki тебе тоже спасибо:)
Спустя 2 минуты, 31 секунда (9.12.2010 - 17:38) sharki написал(а):
Ну да это самый легкий вариант =)) а вдруг у тебя сайт будет на UTF8 т.к это стандарт уже, то что будешь делать )))
Спустя 8 минут, 1 секунда (9.12.2010 - 17:46) novik_sasha написал(а):
Цитата (sharki @ 9.12.2010 - 14:38) |
Ну да это самый легкий вариант =)) а вдруг у тебя сайт будет на UTF8 т.к это стандарт уже, то что будешь делать ))) |
нее... магазин то у меня на русском весь:) utf мне не нужен:)