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í
×
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 4
    21.4. 19:11 | Komunita

    Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.

    Ladislav Hagara | Komentářů: 25
    21.4. 04:44 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Novým vedoucím je Andreas Tille.

    Ladislav Hagara | Komentářů: 7
    21.4. 00:11 | Nová verze

    Po osmi měsících vývoje byla vydána nová verze 0.12.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 268 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    20.4. 23:55 | Pozvánky

    Poslední měsíc byl plný zajímavých akcí, o kterých Vám bastlíři z projektu MacGyver mohou povědět, protože se na ně sami vydali. Kde všude byli, ptáte se? Objevili se na Installfestu, Arduino Day, Hackaday Europe a tajném srazu bastlířů z Twitteru. A z každé akce pro vás mají zajímavé poznatky.

    … více »
    bkralik | Komentářů: 1
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (18%)
    Celkem 674 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: PHP - konce řádků DOS nebo UNIX?

    3.7.2016 22:38 pavele
    PHP - konce řádků DOS nebo UNIX?
    Přečteno: 830×
    Převáděl jsem webovou aplikaci napsanou v PHP (WAMP) z Windows do linuxu (LAMP).

    Všechno funguje, jen přenesené soubory mají UTF-8.DOS konce řádků.

    Nechat nebo změnit na UTF-8.UNIX?

    Odpovědi

    3.7.2016 23:07 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    PHP je to docela jedno. Doporučuje se nechat defaultní nastavení Gitu. Pak budou ve Windows dosovské konce řádků a v Linuxu unixové. V repozitáři to však bude jednotně. Git automaticky zajistí obousměrnou konverzi.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    5.7.2016 14:24 Sten
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Git ve výchozím nastavení konce řádků nemění:
    While Git normally leaves file contents alone, it can be configured to normalize line endings to LF in the repository and, optionally, to convert them to CRLF when files are checked out.
    Je potřeba to zapnout pomocí core.autocrlf.
    5.7.2016 14:35 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Je potřeba to zapnout pomocí core.autocrlf.
    Což je podle mne výchozí konfigurace po instalaci, alespoň ve většině distribucí.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    6.7.2016 03:36 Sten
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?

    Ve kterých?

    Debian: ne
    CentOS: ne
    RHEL: ne
    Ubuntu: ne

    Docela bych se divil, kdyby to někde bylo výchozí, protože to je problematické a potenciálně nebezpečné nastavení. Jako výchozí to měl jednu dobu nastavené Git for Windows (msysgit), ale ten to zrušil.

    pavlix avatar 6.7.2016 08:07 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    +1

    Navíc to vyžaduje rozlišováné binárních a textových souborů, což git vnitřně za normálních okolností nerozlišuje.
    Jako výchozí to měl jednu dobu nastavené Git for Windows (msysgit), ale ten to zrušil.
    Tak ono to stačí mít nastavené jen na zkripleném systému, to měl asi namysli, když psal o výchozím nastavení. Ale jestli už to neplatí, tak je to věc jiná.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 6.7.2016 08:09 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Druhá věc je, že v dotazu nepadla o Gitu ani zmínka.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    6.7.2016 20:52 pavele
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Já o koncích řádků PHP LAMP v linuxu, oni o gitu. :-)
    6.7.2016 21:39 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Myslím si, že by ti mohla stačit hned první věta, kterou jsem napsal: PHP je to jedno.

    Zbytek můžeš v klidu ignorovat.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    pavlix avatar 7.7.2016 08:12 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    PHP jsou sice jedno konce řádků, ale zase si tak úplně neporadí s windowsovskou variantou UTF-8. Na což narazil každý, komu se někde zdánlivě náhodně ve stránce objevila trojice paznaků. :)
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    7.7.2016 08:58 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Zřejmě máš na mysli BOM. To je slušná pohroma. Je to ještě před symbolem <?php, takže to má beze změny zkopírovat na výstup. Co na tom, že to znemožní následné odeslání hlaviček? To je spíš nedostatkem použitého textového editoru. PHP je v tom nevinně.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    pavlix avatar 7.7.2016 09:13 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Je to jak jsem psal, na windows je standardem BOM dávat, přestože UTF-8 žádný byte order nemá a tudíž neplní účel, na unixech je standardem BOM nedávat. Textový editor za to nemůže, ten se jen drží de facto standardu daného systému. Navíc na windows je zvykem podle BOM rozlišovat UTF-8 a legacy kódování, takže se dá říct, že je v rámci windows platformy chyba BOM ve výchozí konfiguraci nevložit. Jsem tak rád, že mezi unixáři a linuxáky zůstala ještě trocha toho rozumu. :)
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    7.7.2016 11:02 Sten
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    IMO to chyba PHP je, protože to je součást standardu UTF-8, který prý PHP umí. Řešit to mělo PHP6, and to umřelo.
    pavlix avatar 7.7.2016 11:12 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    A co přesně z toho standardu PHP porušuje?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 7.7.2016 11:16 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Odpovím si sám. Je to napsáno dost zmatečně a ne úplně podle zvyklostí, ale nějak to tam je...
    Such stripping is necessary in some cases (e.g., when concatenating two strings, because otherwise the resulting string may contain an unintended "ZERO WIDTH NO-BREAK SPACE" at the connection point), but might affect an external process at a different layer (such as a digital signature or a count of the characters) that is relying on the presence of all characters in the stream.
    Každopádně je to naprostý shit a do toho standardu se to nemělo nikdy dostat ani takto volitelné. UTF-8 bez BOM je naprosto geniální kódování, které je 100% kompatibilní s ASCII a na které fungují všechny standardní operace s řetězci, které nevyžadují počet skutečně zahrnutých znaků či pozic.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    7.7.2016 11:49 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Čtu to stále dokola a nechápu. Se stringem mohu pracovat jako s posloupností znaků nebo jako s posloupností bajtů. Pokud někdo tyto přístupy míchá jak ho napadne, tak ať se nediví.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    pavlix avatar 7.7.2016 12:33 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Pokud jde o výše popsanou teorii, souhlasím. Ale teď zpět do praxe.

    ASCII je kódování, které mapuje jeden znak na jeden bajt s nulovým bitem nejvyššího řádu a naopak. Bajty s jedničkovým bitem nejvyššího řádu zůstávají volné a většina software, co pracuje s ASCII s nimi dokáže pracovat jako s neznámými znaky. Operace nad znaky a bajty jsou zcela totožné. Unixové ASCII navíc vyjadřuje konec řádku vždy jen jedním znakem LF. Jedinou jeho nevýhodou je malý repertoár znaků.

    UTF-8 (v jeho nezkriplené podobě) je kódování, které zachovává všechny vlastnosti ASCII s výjimkou počítání a indexování znaků. Je 100% kompatibilní s ASCII. Pro non-ASCII znaky využívá výhradně bajty s jedničkovým bitem nejvyššího řádu. Od jiných rozšíření ASCII se liší pouze tím, že jeden non-ASCII znak vyjadřuje více takovými bajty.

    Důsledkem je to, že prakticky veškerý software pracující s ASCII s možností rozšířených znakových sad je beze změny plně funkční i s nezkripleným UTF-8, což je taky hlavní důvod, proč je UTF-8 mezi vývojáři tak populární. Snad jedinou výjimkou je zobrazovací software, který potřebuje znaky napočítat a umístit.

    Rozšíření UTF-8 o jakékoli vlastnosti UTF-16 považuju za šlápnutí vedle, s výjimkou explicitního použití UTF-8 pro zakódování šestnáctibitových hodnot (například UTF-16 s chybami).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    7.7.2016 14:30 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Kromě posledního odstavce je mi vše jasné. To rozšíření mám chápat jako dynamické přepínání znakové sady pomocí BOMu uvnitř textu dle libosti? Asi by to šlo, ale připadá mi to hodně fuj.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    pavlix avatar 7.7.2016 15:31 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Ale vůbec ne. Mám namysli například to rozšíření UTF-8 o možnost identifikace pomocí byte order mark původně určené pro rozlišení pořadí oktetů (bajtů) v šestnáctibitovém slově UTF-16, případně dvaatřicetibitovém slově UTF-32. Dneska to standard připouští jako možnost označení textového dokumentu UTF-8. Ale dělají se i další věci jako kódování unicode code pointů pomocí sekvence UTF-16 slov zakódovaných pomocí UTF-8 nebo dokonce chybných šestnáctibitových sekvencí korektně zakódovaných do UTF-8. Něco z toho je kodifikováno jako více či méně volitelná součást standardu, něco není.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    7.7.2016 08:59 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    To není Windowsovská varianta UTF-8, to je UTF-8 s BOM na začátku souboru a je to součástí Unicode standardu.
    13.7.2016 22:16 petr
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    PSR-2:
    All PHP files MUST use the Unix LF (linefeed) line ending.
    13.7.2016 23:12 pavele
    Rozbalit Rozbalit vše Re: PHP - konce řádků DOS nebo UNIX?
    Díky za odkaz, pěkný popis.

    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.