Autor | Zpráva | ||
---|---|---|---|
Ugo Profil * |
Zdravim, prosimvas nemate nekdo nejakej tip jak vyresit podelany kodovani? Data taham z databaze. Jak byva zvykem pulka kodovani je OK kdyz taham bez nastaveni, pulka je Ok kdyz taham s
mysql_query("SET character_set_client='utf8'"); mysql_query("SET character_set_connection='utf8'"); mysql_query("SET character_set_results='utf8'"); mysql_query("SET CHARACTER SET utf8"); ... a pulka kodovani je v html entitach ktery mi funkce html*_decode proste ignoruje. Zda se proste ze pulka je utf-8, pulka win-1250, pulka je nejaky vesmirny ansi a pulka neprelozitelny html, vsechno potrbeuju do jakyhokoliv jednoho kodovani a sem z toho uz zelenej. (potrebuju udelat citelny csv) Jestli mate nejakou zazracnou funkci ci tip, budu sakramensky vdecny. Dekuju Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ). Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
|
||
Alphard Profil |
#2 · Zasláno: 22. 7. 2011, 17:45:35
Většinou není potřeba tolik věcí nastavovat, viz Některé časteji řešené dotazy pro MySQL - FAQ » MySQL a čeština
Zdá se, že máte v databázi několik kódování. Taková situace neměla vzniknou a nezávidím vám ji :-) Při snahách opravit to si můžete pohrát s http://dev.mysql.com/doc/refman/4.1/en/charset-conversion.html nebo https://github.com/nette/nette/blob/master/Nette/Utils/Strings.php#L55. V každém případě to nejdřív zálohujte. |
||
Časová prodleva: 3 dny
|
|||
peta Profil |
#3 · Zasláno: 25. 7. 2011, 15:43:17
Ugo:
Jak pise Alphard, v prvni rade po exportu udelej zalohu toho souboru. Hlavne pri exportu si zaskrtni, ze ti ma ulozit kodovani sloupcu, tabulek a strukturu tabulek. Pak bych to naimportoval do nejake sve databaze. Melo by se to spravne naimportovat, snad :) Pokud se ti podari na to napojit nektery z tech problemovych programu a ukazuje to spravne, pak to spravne naimportoval. A muzes s tim ruzne experimentovat. Co se tyce exportu do csv v kodovani napr utf-8, to je dost pruser. Budes muset presne zjistit, co ma jake kodovani. obvykle latin1, latin2 (mysql4), win-1250, utf, dos ibm-850. A presne podle toho nastavit strukturu tabulek nebo pripojeni k databazi. Nejcasteji je problem ten, ze php program nezadava zadne pripojeni, data ma importovane v latin2, ale jsou ulozene v tabulce s pripojenim utf. Kdyz nezada zadne pripojeni, tak dostane spravna data, ale kdyby zadal utf, tak dostane kliky haky. Cili jestli chces, tak proved exporty v ruznych kodovanich. Jeden v tom, co ma nastavene databaze jako default. Ale pak soubor misto utf editoru otevri pres neco, co rozumi latin2. Tez muzes pouzit prohlizec a zmenit pres menu kodovou stranku na latin-2 a vykopirovat si text :) *.sql -> *.htm -> enter pak spusti prohlizec. Pozor na omezeni pameti pc! Jsem takhle caroval s 50MB souborem a prohlizec to nedaval. takze jsem ten soubor rozkouskoval a postupne prekodovaval. |
||
Ugo Profil * |
#4 · Zasláno: 25. 7. 2011, 16:13:15
Děkuji vám za rady, jenom si říkám.. proč aspoň jednou nemůže bejt něco jednoduchý :D. V tomhle nám obecně dává čeština zabrat, docela by mě zajímalo jak k tomu různému kódování došlo a ještě víc, proč mi phpko nechce nahrazovat html entity (asi taky kvůlu kódování, protože nepodporuje win-1250, ale ani v překonvertovanym do utf to nebere). Každopádně nějak už jsem to dočasně pořešil, ne 100% ale snad to stačí.
|
||
Časová prodleva: 13 let
|
0