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í
×
    včera 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    včera 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 15
    včera 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 16
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 11
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    11.7. 00:11 | Nová verze

    Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    10.7. 21:00 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 4
    10.7. 15:22 | Nová verze

    Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.

    Ladislav Hagara | Komentářů: 12
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 393 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: PHP a CURL mění tvrdé mezery

    5.8.2010 16:23 Urso
    PHP a CURL mění tvrdé mezery
    Přečteno: 1462×
    Příloha:

    Zdravím, mám problém se stažením kódu jiné stránky pomocí CURL. Při načtení jiné stránky v kódování win-1250 pomocí CURL a její začlenění do stránky kódované jako UTF-8 mi to tvrdé mezery ( ) načte jako nesmyslné znaky (?), viz ukázka kódu:

    $dotaz = "http://www.neco.cz/?kod=3"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $dotaz); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // vystup do promenne if (($buff = curl_exec($ch)) === false) { echo "Chyba: "; } else { } curl_close($ch); $buff = wintoutf8($buff); echo $buff; Nevíte někdo jak to vyřešit?

    Řešení dotazu:


    Odpovědi

    5.8.2010 17:20 zulu
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Z toho kódu, ale nepoznáme co a jak převádíš a přiložený obrázek sám o sobě je v pořádku.
    5.8.2010 23:48 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Opravdu sis ověřil, že to CURL stáhne dobře - že v tom co stáhne, ty tvrdé mezery ještě jsou? Já si totiž myslím, že tam budou, že CURL funguje správně a že problém bude ve funkci wintoutf8.
    6.8.2010 08:38 Urso
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Když funkci WINTOUTF8() vypnu, tak je výsledek stejný, pouze čeština ukazuje paznaky.
    6.8.2010 09:29 chrono
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Skús sem vložiť (ako prílohu) textový súbor, v ktorom bude to číslo aj s tým znakom v pôvodnom kódovaní.
    6.8.2010 10:27 Urso
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    To zpracovává cizí cgi script přes VPN, k tomu nemám přístup.
    6.8.2010 10:45 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Bylo myšleno spíše, vložit sem obsah $buff bez jakékoliv další úpravy, jako bez prohnání wintoutf8() apod.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.8.2010 09:34 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Nemyslím si že chyba je v CURL, ale není možné, že server, ze kterého taháte se rozhoduje co pošle např. podle useragenta a pošle ty čísla jinak formátované?, bo na obrázku nesmyslný znak nevidím :)
    To by pak mohlo pomoci např:
    curl_setopt($ch,CURLOPT_USERAGENT','Mozilla/5.0 (X11; U; Linux i686; cs-CZ; rv:1.9.0.2) Gecko/20121223 Ubuntu/9.25 (jaunty) Firefox/3.0');
    Pokud teda to neprasí wintoutf8().
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.8.2010 10:25 Urso
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Tak tohle nepomáhá. Zajímavé je, že pokud ve FireFoxi dám zobrazení->znaková sada->windows 1250 tak oddělovač tisíců v čísle je správně, ale ne jako tvrdá mezera   ale jako normální mezera (císlo 20 hexadec., 32 dec.).
    6.8.2010 10:52 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Uložte obsah $buff (pomocí fopen,fwrite) do souboru bez wintoutf8() a případně do druhého souboru po wintoutf8() a připojte je sem jako přílohu.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.8.2010 11:56 Urso
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Příloha:
    Dobrý nápad, jsem to udělal a cpe tam hex. A0 znak. Takže jsem to vyřešil takto:
    $buff = str_replace(chr(160), " ", $buff, $pocet);
    Ale stejně nevím proč to dělá, nemá to logiku. Dávám soubor do přílohy.
    6.8.2010 12:19 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Jste si jistý, že přiložený soubor je $buff bez jakékoliv úpravy (ten co je vrácen přímo z CURL), bo různé diakritické znaky jsou nahrazeny stejnou sekvencí 3bytů.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.8.2010 13:58 urso
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Příloha:
    Ten přiložený soubor jsem zkrátil. A opravdu všechny znaky A0 se přepsaly na EF BF BD. Tak ho posílám znovu bez úpravy. Tu tvrdou mezeru (nbsp;) tam chci, proto to str_replace (výměna A0 za mezeru).
    6.8.2010 14:35 urso
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    A ještě jsem prozkoumal win-1250 kódování a tím se mi rozsvítilo. A0 je v kódování win-1250 tvrdá mezera (ovšem v prostém textu). V (X)HTML se dává 6 znaků (&)nbsp; v libovolném kódování. Podle mi zadaných informací by v tom HTML výstupu měla být tvrdá mezera, což jsem předpokládal (&)nbsp; . A to byl chybný předpoklad, bylo tam to A0, což se mi vždy po uložení v prohlížeči změnilo na EF BF BD. Tím tuto problematiku považuji za vyřešenou a děkuji všem zůčastněným za pomoc.
    6.8.2010 15:30 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Ano toto již vypadá normálně to je čisté Windows-1250 kódování.
    Takže soubor $buff stačí lehce převést pomocí fce iconv() na utf-8 a je to.
    No a pokud tam potřebujete i no-break-space, tak bych to asi upravil na
    $buff = str_replace(chr(160), " ", $buff);
    před konverzí do utfk-ka.
    Ale fce iconv() naprosto normálně i tuto mezeru převádí z windows-1250 do utf-8, takže jak bylo psáno na začátku, kazí to fce wintoutf8, kdoví co vůbec dělá.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.8.2010 17:43 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    Sorry, špatně jsem zapsal html entitu, oprava:
    $buff = str_replace(chr(160), " ", $buff);
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.8.2010 13:03 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: PHP a CURL mění tvrdé mezery
    K čemu ten str_replace? Chcete tam teda ty nedělitelné mezery, nebo ne?

    V příloze je to nějaké zmršené - jsou tam znaky ef bf bd, což bude asi nějaký zástupný symbol.

    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.