abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:44 | Humor

    Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 145. Aktuální verze Firefoxu je 148. Od září přejde Chrome na dvoutýdenní cyklus vydávání. V kterém týdnu bude mít Chrome větší číslo verze než Firefox? 😀

    Ladislav Hagara | Komentářů: 1
    včera 21:55 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 13:44 | Komunita

    Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13.

    Ladislav Hagara | Komentářů: 2
    včera 04:33 | Nová verze

    Byla vydána (Mastodon, 𝕏) třetí RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    2.3. 21:44 | IT novinky

    Apple představil iPhone 17e a iPad Air s čipem M4.

    Ladislav Hagara | Komentářů: 14
    2.3. 21:11 | Zajímavý software

    Byla vydána verze 1.0 editoru kódů Gram. Jedná se o fork editoru Zed bez telemetrie a umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    2.3. 20:33 | IT novinky

    Byla oznámena spolupráce GrapheneOS s Motorolou. Podrobnosti v tiskové zprávě. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 0
    2.3. 02:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.2.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    2.3. 02:11 | Komunita

    Volí se dvě místa v Radě openSUSE. Seznamte se se čtyřmi kandidáty. Členové projektu openSUSE mohou hlasovat od 1. do 8. března. Výsledky budou oznámeny 9. března.

    lkocman | Komentářů: 3
    1.3. 19:22 | IT novinky

    Společnost OpenAI uzavřela dohodu s americkým ministerstvem obrany o poskytování technologií umělé inteligence (AI) pro utajované sítě americké armády. Firma to oznámila několik hodin poté, co prezident Donald Trump nařídil vládě, aby přestala využívat služby společnosti Anthropic.

    Ladislav Hagara | Komentářů: 14
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (11%)
     (27%)
     (2%)
     (5%)
     (1%)
     (13%)
     (25%)
    Celkem 1004 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: PHP unserialize

    5.2.2010 14:53 Lister169126 | skóre: 2
    PHP unserialize
    Přečteno: 463×

    Zdravim,
    mam tu zapeklity problem, kdysi davno jsem delal eshop a data z kosiku jsem serializoval a rval do db (pekna prasarna, nicmene to fungovalo). Vsechno jede doted a ok, az na 1 pripad, data jsem serializoval a pri vytahnuti z db nejdou unserialozovat. var_dump pise, false, zkousel jsem to na vice hostinzich a nejde to, leda postupne policko po policku (struktura je asi takova:

    array('0' => array(<prvky polozky v kosiku (mnozstvi, cena atp)>),
          '1' => array(<dalsi polozka>));
    

    nerikam, ze je to neresitelny pripad, jen me zajima, jak se neco takoveho muze stat, jak tomu predejit a nejlepe jak to jednoduse vyresit :-).

    serializovane data:

    http://www.maad.sk/data.html

    Odpovědi

    5.2.2010 15:54 12345 | skóre: 41 | blog:
    Rozbalit Rozbalit vše Re: PHP unserialize
    Pro začátek je dobré zapnout error_reporting = E_ALL:
    Notice: unserialize() [function.unserialize]: Error at offset 293 of 6564 bytes in /home/zephyr/Web/tests/unserialize.php on line 9
    bool(false) 
    
    Zkoušel jsem se vrtat jen v prvním "subpoli" – chyba je u položky s klíčem text1. V serializovaném tvaru je u ní uvedena délka 74 bytů:
    s:5:"text1";s:74:"Fašiangový halový turnaj 1. miesto 4. ročník - Lendak 14.02.2010"
    
    V UTF-8 však ten text má 69 bytů. Tohle už například deserializovat jde (74 opraveno na 69):
    a:15:{s:3:"kod";s:4:"8027";s:3:"typ";s:1:"D";s:8:"mnozstvi";i:1;s:4:"cena";d:21.5;s:7:"rozmery";s:5:"37x14";s:4:"kryt";s:0:"";s:9:"podstavec";s:0:"";s:5:"barva";s:0:"";s:6:"stitek";s:3:"zst";s:5:"text1";s:69:"Fašiangový halový turnaj 1. miesto 4. ročník - Lendak 14.02.2010";s:5:"text2";s:0:"";s:7:"emblem1";s:0:"";s:7:"emblem2";s:0:"";s:7:"figurka";s:0:"";s:5:"stuha";s:0:"";}
    
    Podobné chyby jsou i u dalších "subpolí", oprava není těžká.

    Jako příčinu problému bych si tipnul nějaké čachry s kódováním – znaky s diakritikou snadno mohly změnit délku stringu měřenou v bytech.
    6.2.2010 18:40 Lister169126 | skóre: 2
    Rozbalit Rozbalit vše Re: PHP unserialize
    dekuji, error reporting mi vazne nedocvakl :D, bylo to presne ono... vyresil jsem to, ale logicky mi to nedava smysl:

    kodovani stranky: utf-8(content type), kodovani souboru ktery serializuje: utf-8, kodovani souboru, ktery unserializuje: utf-8, kodovani db: utf8_general_ci, vse zkontrolovano a vsude to sedelo (pouzivam pspad na drobne upravy). A ted ten problem:

    iconv_strlen s utf 8 mi hazel jinou delku nez php s error_reporting(E_ALL), delka se dela pri pouziti iconv_strlen cp1250, muzete mi vysvetlit proc? kde se tam vzalo? a delky (byte size) jsem musel opravit podle cp1250 a nikoliv podle utf-8... jak je to mozne? nikde neni pouzite, prijde mi to, ze proste parser to chce v cp1250, ale neni k tomu racionalni duvod, musi si s tim umet preci poradit
    8.2.2010 09:17 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP unserialize
    Zkuste si vypsat var_dump(iconv_get_encoding('all')); třeba se nějaké 1250 objeví :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.