Generuji pomocí PHP obrázky z MySQL databáze. Sktipt mám napsán v UTF-8. Server neustále před výstup dává sekvenci "\EF\BB\BF" což je UTF-8 BOM (taková úvodní identifikační série). To způsobuje nezobrazitelnost obrázků. Co s tím?
Co by? Odstranit.
Neuvedl jsi jaký editor používáš. Je potřeba toto v editoru vypnout. Pokud to teda umí. Pokud ne. Tak se poohlédnout po jiném editoru, který to umí nebo nedělá. Případně v jiném editoru ty znaky odstranit.
Třeba v PsPad -> Nastavení programu - Program2 - vypnout "Ident. byty v kódování UTF-8".
"Server neustále před výstup dává sekvenci " server ji tam nedava proto, ze se mu chce nebo se tim bavi. Server to dela proto, ze mu o to nekdo rekne ;)
tzn.Zkontroluj si svuj php soubor a jak psal Tomik taky zalezi na editoru - napriklad windowskovsky notepad na prvni pohled "umi" utf-8, ale s identifikacnimi byty uz si neporadi ;)
Omlouvám se, že sem opomenul uvést, že v souboru BOM nemám (kontrolováno i po opětovném stažení souboru ze serveru) => dělá to server. Zatím sem našel provizorní řešení vyprázdněním bufferu pomocí ob_clean().
<HTML>Ne, nedělá. Pro HTTP server jsou to jen nějaké soubory, pro PHP stroj jsou to jen nějaké soubory. Ani jeden z nich neřeší žádné kódování, tudíž těžko bude něco přidávat. V něčem to mít musíte.</HTML>
soubor mi začíná "\3C\3F\0D\0A" což je "<?" CR LF, v souboru je jen jedem PHP blok (<? ... ?>) ve kterém je jedno echo. Dále jsem zkoušel tomu souboru dát příponu .html (=> nezpracovává to PHP stroj) a výsledek byl správný (bez BOM; ověřeno pomocí wget a hexdump). Z toho usuzuji, že sekvenci posílá PHP stroj. Ale už jsem ten problém vyřešil pomocí odmazání bufferu...
<HTML>A inkludované soubory?</HTML>