Zdravim mám problém s uložením znakové stránky ve vyexportované databázi. Vždy když ji uložím, tak mě za znaky "č" a "ž" vždy dosadí znak "?" což je pro mě celkem velký problém a nemám ani jak tyto znaky třeba v pozn. bloku nějak hromadně přepsat protože jsou ekvivalentní. Zkoušel jsem už všelijaká jazyková nastavení a kombinace v myadmin a pořád to samé. Jinak databáze i tabulky jsou vyexportovány v pořádku jen ty dva znaky už mě to celkem štve.
Jinak tabulky jsou uloženy v Latin2_cz
Kdo ví jak na to ať poradí please
Akim
A omlouvá se za tento nový dotaz, ale již se to tu níže řešilo, leč zřejmě bezvýsledně. Dodám ještě doplňující informace.
Web mě běží na systému Subdreamer, ve kterém mám nastavené kódování windows-1250.
Tabulky v mysql tedy: Latin_2_cz
Vtip je v tom, že vložené články (znaky) z vebu přes Subdreamer se v něm zobrazují správně, ale když chci exportovat databází tak v ní jsou už ty znaky vypsány špatně. Což je pro mě dost nepochopitelné protože v databází v tom případě musí být ty znaky uložené správně jinak by se mě ani nezobrazili na vebu dobře. Vidím teda příčinu spíše v mé neznalosti php&mysql a zřejmě špatného nastavení při exportu.
mozna mi neco unika, ale... kdyz mas web v kodovani windows-1250, proc jsou tabulky delany v kodovani latin2 ?
to ze v DB vidis ty znaky spatne je OK, pac jsou tam ulozeny v kodovani win1250
Mno ja nainstaloval ten system, a jedina sada ktera se me tam zobrazovala korektne byla prave win1250 a do tabulek jsem predtim moc nekoukal. Ale jak to ze se ty znaky na vebu teda zobrazi spravne? Kdyz jsou teda v te databazi ulozeny spatne. Je tedy nejaka moznost jak to z te databaze nejakym zpusobem dostat spravne? Uz tam ma celkem dost veci a nerad bych to znovu predelaval. Jakoze chapal bych ze budou i na vebu zobrazeny spatne ale tam je to OK.
Oprava zlobi jen znaky š A ž ne č,ž..Prispevek nize se toto taky nejak resilo ale taky bohuzel neuspesne. Mno snad nekdo bude vedet.
Ha tak jsem procital jeden pomerne dlouhy faq kde se probiral update sql serveru a podobne problemy jenze se me ani presto poradne nepodarilo z toho jednoduse doscist co bych mel udelat. Jedine co jsem pochopil a bylo by pro mne dobre je ze:
1.si mam zjistit v jake jazykove strance mam me php
2.nastavit v mysql vse podle teto jazykove stranky
3. pred samotnym exportem zadat jeste dotaz "SET CHARACTER SET znak sada"
po tomto by se to melo udajne vytahnout dobre zkousel jsem lec zatim bezuspesne.
Potrebval bych nejaky "laicky navod"
Čau!
Já bych možná věděla jak na to, jestli jsi teda už na to nepřišel?
Ja mám taktéž problém s diakritikou,ale trochu jiný.
Taky jsem resil problem s š ž a nakonec uspesne vyresil.
Kdesi jsem tady objevil tento skript. Ulozte to do textoveho souboru s priponou php, nahrajte na web a v prohlizeci zadejte jeho adresu. Objevi se Vam stranka s vyexportovanou databazi. Tak to vsechno oznacte a zkopirujte do noveho souboru.
V IE to jede v pohode, ja pouzivam Operu a tam jsem mel nastaveno atomaticke kodovani a misto CP1250 to zobrazovalo v nejakem jinem... po rucnim nastaveni to ale jede taky.
// Kodovani souboru: Windows 1250 (CP1250)
<?php
// ------------ N A S T A V E N I ----------------------------------------------
$db_server = "mysql.webzdarma.cz"; // pro WebZdarma nemenit
$login = "jmeno"; // <==== UPRAV TOTO
$jmeno_databaze = $login;
$heslo_databaze = "heslo"; // <==== UPRAV TOTO
// -----------------------------------------------------------------------------
@mysql_connect($db_server, $login, $heslo_databaze)
or die("Nepodarilo se pripojit k databazi. Zkontroluj prihlasovaci udaje.");
@mysql_select_db($jmeno_databaze) or die("Nepodarilo se otevrit databazi '$jmeno_databaze'.");
mysql_query("SET CHARACTER SET latin2");
mysql_query("SET NAMES latin2");
$tabulky = mysql_query("SHOW TABLES");
while($table = mysql_fetch_row($tabulky)) {
$data = mysql_query("SELECT * FROM $table[0]");
while($zaznam = mysql_fetch_row($data)) {
$pocet_dat = count($zaznam)-1;
$dotaz = "INSERT INTO $table[0] VALUES (";
for ($i=0;$i<$pocet_dat;$i++) $dotaz .= "'".mysql_escape_string($zaznam[$i])."', ";
$dotaz .= "'".mysql_escape_string($zaznam[$pocet_dat])."');\r\n";
echo $dotaz;
}
echo "\r\n";
}
?>
Mno paradicka vono to fakt funguje, tak to je sqely i kdyz ta vysledna struktura se me uplne nezda, ale jeste jsem to nezkousel kazdopadne clanky uz si z toho nejak vycucam. Fakt diky moc melo by se to tu dat nekde na oci pro lidi co maji podobny problem a myslim ze jich jeste par bude.
Mas u me pivko Zilvare :o)
Takze pohoda uz to mam prevede tam kde jsem potreboval, z toho scriptu se vypise jen obsah tabulek, ale ne jejich struktura coz samozrejme nevadi protoze ta se exportuje v poradku takze Diky moc Zilvare uz jsem myslel ze to snad nijak nevyresim.
Tomas Zilvar: Až ne tebe přijdou admini, tak ti smažou web - máš tam automatické přesměrování z reklamy.
>Kdesi jsem tady objevil tento skript
jeee, to je muj skript :D at slouzi... ;)
To je mozny v dobe kdy jsem ten web delal, jsem se inspiroval od okoli... presmerovani prece nicemu nevadi? Kdyz lidi na tu reklamu budou chtit kliknout tak to za tech 15s musi stihnout. Jinak ten web uz nepouzivam :-)
me to nefunguje ani pres tenhle skript :( uz si nevim vubec rady...