abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 11:00 | Pozvánky

    Přímý přenos z konference OpenAlt 2024, jež probíhá tento víkend v prostorách FIT VUT v Brně. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.

    Ladislav Hagara | Komentářů: 0
    1.11. 23:55 | Humor

    V Coloradu unikla hesla k volebním počítačům. Více než 2 měsíce byla tabulka se stovkami hesel do BIOSu volně na webových stránkách. Dle úřadu je potřeba ještě druhé heslo, takže se o žádnou bezprostřední bezpečnostní hrozbu pro volby nejedná [Ars Technica].

    Ladislav Hagara | Komentářů: 0
    1.11. 18:33 | IT novinky Ladislav Hagara | Komentářů: 21
    31.10. 22:44 | IT novinky

    Apple představil nový MacBook Pro s čipy M4, M4 Pro a M4 Max.

    Ladislav Hagara | Komentářů: 68
    31.10. 22:00 | Zajímavý software

    Na GOG.com běží Halloween Sale 2024. Při té příležitosti lze získat zdarma počítačovou hru Return of the Phantom.

    Ladislav Hagara | Komentářů: 0
    31.10. 20:22 | IT novinky

    Společnost OpenAI spustila internetový vyhledávač ChatGPT search.

    Ladislav Hagara | Komentářů: 1
    31.10. 14:33 | Pozvánky

    Konference OpenAlt 2024 proběhne již tento víkend 2. a 3. listopadu v prostorách FIT VUT v Brně. Začíná ale už v pátek na warm-up party ve Studentském klubu u Kachničky v 17:00. Pokud jste ještě areál FITu nenavštívili, k dispozici jsou pokyny k orientaci. Na programu je 54 přednášek a workshopů. Témata jsou od silně technických témat jako je třeba GCC nebo PostgreSQL po méně technické témata jako eGovernment, nebo třeba detailní analýzu … více »

    Ladislav Hagara | Komentářů: 5
    31.10. 13:23 | Nová verze

    Byla vydána nová verze 6.9 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 14.0.1. Tor client na verzi 0.4.8.13. Thunderbird na verzi 115.16.0.

    Ladislav Hagara | Komentářů: 2
    31.10. 12:33 | Komunita

    Vývojáři free a open source synchronizačního nástroje (a p2p náhrady Dropboxu) Syncthing oznámili, že z důvodu odporu ze strany Google Play ukončují podporu OS Android. Bohužel v rámci toho zmizí i vydání Syncthing na F-Droid, který má slabší uživatelskou základnu. Syncthing je na Androidu implementován formou wrapper aplikace, která spustí Syncthing démon, vyžádá potřebná oprávnění a zpřístupní webové rozhraní démona. Ve srovnání se

    … více »
    Harvie.CZ | Komentářů: 6
    31.10. 01:11 | Nová verze

    V červnu 2022 bylo oznámeno, že z K-9 Mailu se stane Thunderbird pro Android. Trvalo to poněkud déle, než vývojáři předpokládali, ale včera byl první stabilní Thunderbird pro Android 8.0 vydán.

    Ladislav Hagara | Komentářů: 0
    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: 1454×
    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.