Zmena kodovani php souboru na utf-8
Ahoj,
snazim se zemnit kodovani php souboru z CP1250 na UTF-8 a delam to pres PSPad. U vetsiny souboru to slo, ale jeden se po preulozeni a novem otevreni stale identifikuje jako CP1250.
Bohuzel zrovna dulezitej a mrvi mi kodovani celyho webu :(
Nemate nekdo nápad proc se to neda zmenit a pripadne i co s tim?
Díky
V priloze je ten soubor kdiby nekdo byl az tak iniciativni :)
Súbor, ktorý si sem dal naozaj nie je kódovaný v UTF-8.
Ale ja tam žiadne znaky s diakritikou nevidím - čiže tento súbor Ti nemôže blbo zobrazovať - nemá čo... Možno máš blbé kódovanie v inom súbore, ktorý si si včlenil
do kódu... Možno "ťaháš" nejaké dáta z iného súboru.
Určite by tam malo byť niečo podobné tomuto:
Ne tady nejsou zadny znaky, ale tenhle soubor dela includy ktery pouzivam zase jinde a proto to mrvi cestinu. Ten charset do hlavbicky co si poslal skutecne mam, includuju ho jinde.
Shrnu to:
Problem je ze tenhle soubor skutrecne neni v utf-8 a problem je ze se mi ho do utf-8 nedari predelat a uz nevim jak na to.
Muze to nekdo skusit u sebe prehodit do utf-8 ? Treba to mrvi jen u me na compu...
Ten jeho soubor rozhodně je v UTF-8. Funguje mi to v pohodě a české znaky při přidání
a nastavení prohlížeče na znakovou sadu UTF-8 se zobrazují v pořádku.
Zkuste hned za místo kde se připojujete a vybíráte databázi (mysql_connect, mysql_select_db) přidat (na nový řádek) tento řádek:
pokud ho tam ještě nemáte.
EDIT:
Stáhl jsem si ten v úvodním příspěvku zveřejněný index.php a vložil do něj:
Důkaz UTF-8 kodování souboru viz zde: ht tp://w ww.balcanica.info/poradna/index.php (umažte 2 mezery v http a www, nechci aby to byl aktivní odkaz, protože to za pár dnů smažu, jenže zdejší redakční systém je udělá ze všeho co začíná na http nebo www...)
Níže je nahraný totožný soubor se stejným obsahem, tak ho kdyžtak můžete použít a překopírovat do něj ten svůj kód, jinak nevím.
mysql_set_charset ("utf8");
Sypu si popel na hlavu :(
Nemyslel sem ze to je povinne, kdyz je v utf8 databaze i soubor
Dekuju
Moc jsem tě nepochopil, ale nepomůže iconv();?
Případně zkus kodovani
edit// nebo to co psal hynajs
Tak presne tenhle retezec sem skousel googlit a nenasel nic pouzitelnyho. Jen jeden softik co to kodovani zmenil, ale udelal mi z toho pomalu needitovatelnej gulas v kterym se nedalo najit kde se pak stala chyba, abych to pak doopravil po jeho hrubym zasahu.
Spis jestli nekdo nevidi v tom souboru tu cast kodu co mu treba muze delat problemy :(
Prohlížeč bys měl přesvědčit, když začátek souboru změníš takhle :
<?php
header('Content-Type: text/html; charset=UTF-8');
require_once("conn.php");
etc........
Ale nejsem si jist, zda se na tohle ptáš, jestli náhodou nemyslíš znovuotevření v PSPad - mně se zde soubor chová dobře.
No charset se mi nacita jinde, na webu pak je includnutej spravne, ale to mluvime o kodovani ktery predavame prohlizeci, ja mluvim primo o kodovani souboru.
PSPad to otevre, ale je to soubor v kodovani CP1250 a ne UTF-8
A do UTF-8 kdyz ho prehodim a ulozim, nestane se tak. Po otevreni zas je v kodovani CP1250.
Pro vysvetleni problematiky:
je potreba rict prohlizeci jaky "prekladac" ma pouzit - charset
a pak taky potrebujeme obsah, kterej ma take sve kodovani.
Jenze v tomhle pripade se mi nedari zmenit kodovani tohohle souboru na UTF-8, proste mi to odmita i pspad prehodit.
Pokud se jedná o znovuotevření v PSPad, tak odpověď nevím a případná mě zajímá taky.
Ale ještě prosím : mohl bys trošku upřesnit, jakým způsobem se zmrvené kódování celýho webu projevuje ? Nevyskytují se znaky, které jsou špatně a jinde dobře ?
Nebo je to prostě celé ve 1250, ačkoli charset se načítá UTF-8 ?
snazim se celej web mit v utf-8 kvuli spravnemu kodovani cestiny.
Momentalne je situace takova, ze mam charset tedy utf-8, soubory az na ten jeden pruserovej taky. Databaze je taky utf-8.
Ale protoze do toho ten jeden vstupuje, tak mam spatne diakritiku, nezobrazujou se pismena a mam misto nich rizsypanej caj.
Jenze i PSPad mi ho odmita prehodit do utf-8 a uz mi dochazej napady co s tim.
Ja to snad cely prehazim na CP1250 a bude, jen to bude zas bordel v databazi ale :(
Nemluve o tom ze to bdue v dnesni dobe celkem enstandard nemit to v utf-8 :)
Hádám nějakou banalitu.
Ještě jeden tip ( s velkou pravděpodobností neúspěšný) :
Nenačítá se header s charset v
require_once("templates/MainHeader.php");
a není předtím v conn.php nějaké echo ( třeba) ?
Já v podobných případech zkouším očesávat kód a tak všelijak podobně.
Ano, tam se nacita, ale ten spravnej utf-8
conn.php je nastaveni, databaye a tak.
Tam je problem skutene jen to, ze mi nejde zmenit kodovani toho souboru primo, tam musi bejt v tom kodu neco co se nechce nechat prehodit do utf-8, ale zaboha nevim co to muze bejt :(
Stahl jsem si tvuj puvodni soubor a ve svym PSPadu přeuložil do UTF-8 a zustal v něm i po znovuotevření.