Autor Zpráva
Neotrid
Profil *
Čusko lidi. Mám takoví problém. Když v php admin změním pomocí sql příkazu ATER TABLE kodování na cp1250_czech_cp tak mi stejně zůstanou hodnoty varchar na latin2_czech_cs. Jinak mi databáze neustále dělá problém se znaky š a ž. Při latin2 jsou místo š a ž otazník. V cp se zobrazuje ... š = ą, ž = ľ. Napadlo mě třeba pomocí php zaměňovat znak ą, za š. Ale to nevím jak udělat.

PS: mysql_query("set names 'cp1250'"); používám. Kodování na stránce kde obsah db vypisuji je windows-1250.
Neotrid
Profil *
heh lidi tak asi už nemusíte. Myslím že jsem to vyřešil.




$text = str_replace("ą", "š", $text);
$text = str_replace("ľ ", "ž", $text);



Uvidím ještě ale jak to bude fungovat u ostatních záznamů kde mám latin2
Neotrid
Profil *
Jo tak to funguje. No řekněte. Není to zajímaví nápad s tím str_replace ?? :D
Joker
Profil
Existuje taková maličká PHP knihovna AutoCzech, zdarma ke stažení, která obsahuje konverzní funkci pro jednotlivá kódování češtiny. Teď si přesně nevzpomínám odkud se dá stáhnout, ale Google poradí ;-)
Kajman_
Profil *
A v phpmyadminu vidíte diakritiku správně?
Neotrid
Profil *
Kajman_ : phpAdmin mám nastavený správně. Češtinu zobrazuje. Jinak v "Projít" to ukazuje to chybné spracování češtiny. Nějak výrazně měnit češtinu v phpAdminu nějak výrazně nemohu kvůli phpbb foru. Co tam ten pro koho tu php aplikaci dělám má. Abych to nějak neovlivnil. Je to na ic. Takže druhou databázi vytvořit také nemohu. Takže si myslím že opravit problém s češtinou v php a né v db je velice dobré řešení. A když ne tak alespoň dobře jak se lidově říká "fikané".
Joker
Profil
Jo, tak to se mi taky stalo s tou databází... web používá jedno kódování češtiny, fórum jiné a databáze může být jenom jedna. A včil mudruj. No a právě proto jsem našel tu AutoCzech ;-)
Kajman_
Profil *
Však každý sloupeček může mít jiné kódování. Problém bude v tom, že data, která jsou v db neodpovídají nastavení jeho kódování (chybné zobrazení v projít).

Když potřebuji pár takových sloupečků opravit za chodu, tak je převedu na blob a pak zpátky na text či varchar se správným kódováním.

Pokud jsou data v cp1250 a je u nich nastavené latin2, tak do stránek v cp1250 je můžete asi dostat i pomocí
mysql_query("SET character_set_results = NULL");
kteréžo vypne automatické převádění - ale to není moc systémové řešení.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0