Autor Zpráva
stepanka
Profil *
Ahoj,

opět mám takový zvláštní dotaz, trápím se s tím už od včerejšího odpoledne, tak se teď zkusím obrátit tady...

Mám na stránce export do XLS. Záhlaví tabulky mám napsané ručně a potom vybírám z databáze data a postupně do řádků vypisuju.

Pokud udělám export pouze toho záhlaví, které je psané ručně, zobrazí se vše správně.
Pokud ale udělám export všeho, záhlaví + dat z DB, tak se mi v celém XLS pokazí čeština. A co mi přijde nejzvláštnější, pokazí se i to záhlaví, které je psané ručně. Jako by ten výcuc z DB ovlivnil kódování na celé stránce.

Zobrazí se mi v záhlaví například místo "Můj případ byl" řetězec "M¨j p°Ýpad byl". Místo "Ambulantní vyšetření" se zobrazí "ambulatnÝ vyÜet°enÝ". I když ty slova vlastně s databází nemají nic společného.

Skripty jsou bohužel v kódování windows-1250. Tabulky databáze jsou všechny v cp1250_general_ci, ale celá databáze je v utf8_general_ci. Po připojení k databázi je zavolán řádek mysql_query("SET NAMES 'cp1250'");

Nenapadá někoho čím by to mohlo být?

Moc děkuju.
Alphard
Profil
A když vypíšete text z databáze bez záhlaví?
stepanka
Profil *
Alphard

Děkuji za reakci.

Někde na php.net jsem našla tenhle kousek:

$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
    while (!feof($handle)) {
        $buffer = fgets($handle, 4096);
        echo $buffer;
    }
    fclose($handle);
}


A když ho přidám na konec a zapoznámkuju svoje hlavičky pro stažení XSL souboru, tak mi to celou tabulku vyplivne na obrazovku. A celá je v pořádku. Přesně takovou bych ji chtěla do exportu. To ale znamená, že se celá čeština pokazí až při exportu do XLS... jsem z toho jelen :-(
stepanka
Profil *
Zjistila jsem z téhle stránky, že chci vypisovat win-1250, ale převede se mi to na DOS ... nevíte proč? Nestalo se to někdy někomu? V PSPadu jsem ten skript uložila jako CP1250, tak jaký DOS? Co to vůbec je za kódování?
Yur4Y
Profil
DOS je len spôsob, ako sa značia konce riadkov (CR+LF, 0x0D 0x0A). Je prakticky jedno, či tam bude DOS, UNIX alebo MAC.
Ale ako si všímam, veľa skriptov používa kódovanie UTF-8 a UNIX formát na konce riadkov (LF).
stepanka
Profil *
Yur4Y

Děkuju za reakci. Na té jpw stránce píšou:

"Překvapivě častá chyba při zapnutém automatickém výběru kódu."

Co tím myslí?
Bubák
Profil
Co tím myslí?
Mám tušení, že k této chybě dojde v IE, pokud prohlížená stránka nemá meta tag charset a je nastaven Automatický výběr kódování.
Bavíme se o souboru XLS (MS Excel), nebo o webowé stránce?
stepanka
Profil *
Bubák
Aha, já jsem na prohlížení stejně použila FF, takže kdo ví kde je chyba.. Bavíme se o exportu do XLS, čili o XLS souboru.
stepanka
Profil *
Problém vyřešen, celou tabulku jsem převedla ICONVem na utf-8 a ještě nastavila charset=utf-8 v content-type u hlavičky header, která zajišťuje stahování.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0