Autor | Zpráva | ||
---|---|---|---|
I am Profil * |
#1 · Zasláno: 11. 2. 2009, 23:34:29
no doprdele :( nechal sem tam hesla, sem vůl. super prosím adminy o smazání :(
|
||
I am Profil * |
#2 · Zasláno: 11. 2. 2009, 23:37:27
Už sem je změnil tak je to v pohodě :-) Ale aspoň je vidět, jak už mi z toho kódování hrabe :)
|
||
I am Profil * |
#3 · Zasláno: 12. 2. 2009, 14:46:03
Stále aktuální = pořád sem na dně :)
|
||
KEnik01 Profil * |
#4 · Zasláno: 12. 2. 2009, 15:12:59
//mysql_query("SET NAMES 'cp1257'");
Ty toto odkomentovane, mne pomohlo definovat prave takto. |
||
tiso Profil |
#5 · Zasláno: 12. 2. 2009, 15:21:07
|
||
Kajman_ Profil * |
#6 · Zasláno: 12. 2. 2009, 15:30:27
„hlavně, na ic.cz nemohu pustit ten script přes shell, lze ho nějak spustit i z prohlížeče? “
Jistě, jen si zrušte kontrolu a nastavte na začátku ručně $argv[1]="hn_tranzit"; $argv[2]="cp1250_czech_cs";//latin2_czech_cs, utf8_czech_ci Data budou ve skutečnosti asi v kódování, ve kterém máte stránky. Pokud si db myslí, že máte tabulky např. ve výchozím latin1 a že mu dáváte latin1, tak je ukládá a vrací bez konverze, proto se na stránkách může jevit, že to funguje, ale nebude fungovat spousta mysql operací nad tím řetězcem správně. A možná bych ještě předtím zkusil vyexportovat data z pma s nastaveným latin1. |
||
I am Profil * |
#7 · Zasláno: 12. 2. 2009, 15:39:14
Kajman_
Mám docela strach to provést, nikde nemám zálohu, když se to pos*** tak ztratím celý obsah webu... tiso Problém je v tom, že jednoduchý script (ten jak je výše i se starými hesly) ty data načte správně - i bez SET NAMES, ale ta třída pro export obsahu db ty data stejně vrací znehodnocená... možná by ji stačilo upravit, ale nevím přesně jak. |
||
I am Profil * |
#8 · Zasláno: 12. 2. 2009, 15:52:40
Kajman_
Ten script funguje, mění to (zkoušel jsem na jiné db). Jen se bojím aby se to při té změně nezničilo. Mám to prubnout? |
||
I am Profil * |
#9 · Zasláno: 12. 2. 2009, 17:43:59
Tak sem schálně přes phpmyadmina změnil u jednoho sloupce porovnávání na cp1250 a stránka se načetla s paznaky -> změnil jsem to zpět ale paznaky zůstali. Ještě že jsem to nepřekonvertoval celé, mohlo být po celém webu. Ale sakra, co s tím? :(
|
||
I am Profil * |
#10 · Zasláno: 12. 2. 2009, 17:48:48
Jinak je zajímavé že když se snažím o editaci toho řádku tak mi pma vypíše:
MySQL vrátil prázdný výsledek (tj. nulový počet řádků) a nenechá mě ho editovat a pod tím vypíše obrovskou změť čehosi cca 27 řádků :o) |
||
tiso Profil |
#11 · Zasláno: 12. 2. 2009, 17:56:16
[#9] - vykašli sa na to, čo iné ti poradiť?
[#7] - tak uprav ten skript. Potrebuješ 1. vybrať dáta z tabuliek 2. vytvoriť mysql dump. Nezabudni ten dump uložiť v nejakom presne definovanom kódovaní, aby si vedel v akom ho máš. 3. Ak je ten dump pri otvorení v tom kódovaní v poriadku, tak je ten dump správne 4. Ak je to kódovanie v ktorom máš dump iné ako to, v ktorom ho chceš mať v DB, tak ešte zmeň kódovanie toho dumpu (otvor v editorte, zmeň kódovanie, ulož) 5. teraz môžeš importovať ten dump do novej DB, ale už nezabudni nastaviť SET NAMES. |
||
I am Profil * |
#12 · Zasláno: 12. 2. 2009, 17:56:46
Hlavně tou změnou se mi tam ztratilo to kódování -> a nelze ho vrátit zpět a dokonce phpmyadmin odmítá upravit obsah. Vážně prohlašuju že phpfusion je nejhorší zlo :(
|
||
I am Profil * |
#13 · Zasláno: 12. 2. 2009, 18:01:50
tiso
A jak mám naprogramovat takový dump? zjistit počet tabulek, potom z každé vybrat vyšechny řádky, ale jak to uděla abych to pak mohl snadno importovat a vytvořilo to ty tabulky samo? |
||
Kajman_ Profil * |
#14 · Zasláno: 12. 2. 2009, 21:27:05
Tak sem schálně přes phpmyadmina změnil u jednoho sloupce porovnávání na cp1250
Nečetl jste důkladně ten odkazovaný článek ani skript. Je nutné nejprve změnit sloupeček na binary a pak teprve na sloupeček se správným kódováním. Když se netrefíte, tak změníte opět na binary a zpátky. |
||
I am Profil * |
#15 · Zasláno: 12. 2. 2009, 22:21:10
Kajman_
Když změním na binary tak se mi ta data co v něm jsou uložená smazala. Byla tam věta a po změně na binary tam je pouze zobáček < |
||
I am Profil * |
#16 · Zasláno: 12. 2. 2009, 22:29:01
Kajman_
Ale možná je to tím, jak jsem zbrkle měnil, mmnt vyzkouším. |
||
I am Profil * |
#17 · Zasláno: 12. 2. 2009, 22:46:59
Hm, tak to zase akorát nechápu. U jinech db to tak šlo ale u týhle ne. Napsal sem tam přes fusion Žluťoučký kůň.. a na webu se to ukázalo v pohodě. Pak jsem změnil typ na binary. Pak zase zpět na text s tím latin2_czech_cs a místo textu tam je otazník. Takže se to nevrátilo, jak by mělo. Proč?
|
||
I am Profil * |
#18 · Zasláno: 12. 2. 2009, 22:54:01
Veřejně prohlašuju, že ten kdo mi tyhle záhady pomůže vyřešit má u mě pivo!
|
||
I am Profil * |
#19 · Zasláno: 12. 2. 2009, 22:55:28
Hlavně je ten řádek začarovaný. Když ho dám upravit v PMA tak mi napíše že mysql vrátila 0počet řádků. Což je dost podezřelé.
|
||
I am Profil * |
#20 · Zasláno: 12. 2. 2009, 23:10:55
Je fajn, že mail admin@ic.cz vrací všechny maily zpět jako nedoručitelné :-)
|
||
Kajman_ Profil * |
#21 · Zasláno: 13. 2. 2009, 08:53:01
Pak zase zpět na text s tím latin2_czech_cs a místo textu tam je otazník.
V pma je otazník? Na stránkách, kde nemáte nastavené správné set names to doufám nezkoušíte. Důležité je, aby v pma byla diakritika dobře. To je první krok. |
||
I am Profil * |
#22 · Zasláno: 13. 2. 2009, 11:22:00
Kajman_
Ne, zkouším to v PMA, dám projít a ukáže se jeden řádek, v jednom sloupci je onen text, místo diakritiky jsou tam otazníky, dám upravím strukturu a oněmu sloupci kde je ten text dám binary.. a v PMA při projití se ukáže jen jeden podivný znak, tak dám zase změnit strukturu a změním to zpět na to co to bylo (latin2_czech_cs) ale zůstane tam ten podivný znak a původní text se už ale nevrátí :( |
||
zvěřiňák Profil * |
#23 · Zasláno: 13. 2. 2009, 21:30:53
I am
Žádným laborováním se znakovými sadami v databázové tabulce neopravíš chybně zapsaná data (maximálně se zmršej tak, že už nepůjdou vrátit na původní hodnotu). Udělej export a ten soubor otevři v PSPadu. Zkontroluj v jakém kódování ten soubor je a případně ho změň na kódování, v kterém pak budeš další data do tabulky ukládat. Pomocí "najít a nahradit" oprav znaky chybně zapsané. Není to tak hrozný, těch znaků není až zas tolik. Po opravě uděláš import a teď musíš upravit skripty, kterými data do tabulky ukládáš i ty, kterými data z tabulky čteš (při každém připojení k databázi nastavit SET NAMES). Pokud to necháš tak jak to máš teď, tak jednak se ti ty opravený data budou zobrazovat chybně a ty co budeš ukládat, tak se zase chybně uloží (ale zobrazí se na webu správně). |
||
I am Profil * |
#24 · Zasláno: 14. 2. 2009, 13:20:02
zvěřiňák
Ale vždyť ty data musí jít vydolovat se správnou diakritikou, když to CMS vydoluje :o) |
||
zvěřiňák Profil * |
#25 · Zasláno: 14. 2. 2009, 13:46:33
I am
Přečti si tohle. |
||
zvěřiňák Profil * |
#26 · Zasláno: 15. 2. 2009, 10:44:58
I am
Pokud jsi těmi rošádami se znakovými sadami změnil většinu českých znaků na otazníky, tak to vrátit zpátky už nejde. Jedině už zbývá ručně opravit celou tabulku nebo se s uloženými daty rozloučit. |
||
Časová prodleva: 15 let
|
0