Autor | Zpráva | ||
---|---|---|---|
peta Profil |
Zkousim udelat export do csv. V podstate uspech, az na takovy problemek, ze to neprevede spravne recke symboly. Nedali by se utf znaky zkonvertovat na neco jineho, treba html entity? Momentalne to resim tim, ze mam iconv nastaveny na IGNORE.
Kod vypada asi takhle: $charset1 = "UTF-8"; $charset2 = "windows-1250"; //ISO-8859-1 $mode = "//IGNORE"; ob_start(); header('Content-Encoding: '.$charset2); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream; charset='.$charset2); header('Content-Disposition: attachment; filename='.$filename); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); //echo "\xEF\xBB\xBF"; // UTF-8 BOM $ind = @iconv($charset1, $charset2.$mode,implode(";",$cis_sem_indikatory)); echo 'druh;iduser;idprojekt;idklicaktivita;stagkod;nazev;anotace;ostitpj1;osjmeno1;osprijm1;ostitzj1;idostyp1;idospuvod1;idosnaklady1;ostitpj2;osjmeno2;osprijm2;ostitzj2;idostyp2;idospuvod2;idosnaklady2;ostitpj3;osjmeno3;osprijm3;ostitzj3;idostyp3;idospuvod3;idosnaklady3;termin;misto;'.$ind.';pril'."\n"; while (($row = mysql_fetch_assoc($result1a))!==false) { foreach ($row as $key=>$value) {$row[$key] = preg_replace('/[\n\r\t\x00-\x20)]+/'," ",$value);} // odstran \n echo @iconv($charset1, $charset2.$mode,arrayToCsv($row))."\n"; } |
||
peta Profil |
#2 · Zasláno: 18. 12. 2012, 12:17:54
Ha, tak ono reseni bylo jednoduche. Staci zmenit tyto radky
$charset2 = "UTF-8"; // radek 3 echo "\xEF\xBB\xBF"; // UTF-8 BOM // radek 14 odkomentovat |
||
ShiraNai7 Profil |
#3 · Zasláno: 18. 12. 2012, 12:23:08
peta:
1) content-encoding neslouzi pro charset 2) data v databazi jsou v jakem kodovani? Pokud je vse v UTF-8, tak by nemel byt problem. Akorat muze byt potreba pri importu zvolit to UTF-8 kodovani. |
||
peta Profil |
ShiraNai7:
Bez toho BOM to excel nepochopi, ze se jedna o utf. To jsem prave zkousel vcera asi hodinu nez jsem musel jit. Ale uz mi to funguje, tak to nemusis resit. Nebo se to aspon tak jevi, dokud nekdo neprijde hlasit chybu :) Edit: A jeste abych odpovedel na tve dotazy, kodovani mam pohlidane (databaze utf, php utf). Jen jsem nevedel, jak excelu vnutit jine kodovani nez win-1250, tak jsem se snazil vsechno na to prekodovat a pri te prilezitosti jsem prave prisel o recke symboly. Content-encoding, mozna, ale funguje to, tak to tam necham. Tohle je takova prvotina csv pro excel timto zpusobem na stahovani a ne primo do souboru. |
||
Časová prodleva: 12 let
|
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.
Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:
Běda vám, jestli to bude blábol.
0