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 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Byla vydána prosincová aktualizace aneb nová verze 1.108 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.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 4
    včera 16:33 | Zajímavý projekt

    Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.

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

    Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.

    Ladislav Hagara | Komentářů: 6
    včera 02:11 | Komunita

    Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.

    Ladislav Hagara | Komentářů: 0
    7.1. 17:22 | Zajímavý článek

    Bezpečnostní specialista Graham Helton z Low Orbit Security si všímá podezřelých anomálií v BGP, zaznamenaných krátce před vstupem ozbrojených sil USA na území Venezuely, které tam během bleskové speciální vojenské operace úspěšně zatkly venezuelského diktátora Madura za narkoterorismus. BGP (Border Gateway Protocol) je 'dynamický směrovací protokol, který umožňuje routerům automaticky reagovat na změny topologie počítačové sítě' a je v bezpečnostních kruzích znám jako 'notoricky nezabezpečený'.

    NUKE GAZA! 🎆 | Komentářů: 9
    7.1. 06:11 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,58 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,32 %. Procesor AMD používá 67,43 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 4
    7.1. 05:55 | IT novinky

    V Las Vegas probíhá veletrh CES (Consumer Electronics Show, Wikipedie). Firmy představují své novinky. Například LEGO představilo systém LEGO SMART Play: chytré kostky SMART Brick, dlaždičky SMART Tagy a SMART minifigurky. Kostka SMART Brick dokáže rozpoznat přítomnost SMART Tagů a SMART minifigurek, které se nacházejí v její blízkosti. Ty kostku SMART Brick aktivují a určí, co má dělat.

    Ladislav Hagara | Komentářů: 0
    6.1. 18:33 | Bezpečnostní upozornění

    Vládní CERT (GovCERT.CZ) upozorňuje (𝕏) na kritickou zranitelnost v jsPDF, CVE-2025-68428. Tato zranitelnost umožňuje neautentizovaným vzdáleným útočníkům číst libovolné soubory z lokálního souborového systému serveru při použití jsPDF v prostředí Node.js. Problém vzniká kvůli nedostatečné validaci vstupu u cest k souborům předávaných několika metodám jsPDF. Útočník může zneužít tuto chybu k exfiltraci citlivých

    … více »
    Ladislav Hagara | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (1%)
     (5%)
     (0%)
     (10%)
     (21%)
     (4%)
     (5%)
     (3%)
     (11%)
     (54%)
    Celkem 301 hlasů
     Komentářů: 7, poslední včera 15:35
    Rozcestník

    Dotaz: Postgresql - text - utf8 - \r \n \t ...

    19.4.2020 17:24 Martin
    Postgresql - text - utf8 - \r \n \t ...
    Přečteno: 588×
    Dobrý den, může mi prosím někdo vysvětlit, jak vložit text (obsah souboru) v kódování utf8 do tabulky tak, aby postgres neprovedl konverzi tohoto textu ? Příklad:
    html:
    <!-- soubor v utf8, without bom -->
    <input type="text"<-- tady je CRLF
        data-sometext="ěáíýžč">
    
    sql:
    create table test (html text);
    insert into test values (pg_read_file('...'));
    select * from test;
    
    <input type="text"\r
        data-sometext="ěáíýžč">
    
    Jde o tu značku \r. Postgres prostě převede chr(13) na string \r. Týká se to i ostatních escape sekvencí. Google nepomohl. Píše se tam o convert_from(), encode(), E'\r', ale to prostě není ono. Chtěl bych, aby tam byl vložen ten soubor tak, jak je na disku. Server i client jsou encoding utf8, database má encoding=utf8, collate='C', ctype='C'. Nějak to nechápu. \t \r \n jsou přece platné znaky v utf8. Díky.

    Odpovědi

    NUKE GAZA! 🎆 avatar 19.4.2020 21:16 NUKE GAZA! 🎆 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Postgresql - text - utf8 - \r \n \t ...

    vložen ten soubor tak, jak je na disku

    hhhhmmmmmmmmmmmmmmmmmmm co ho jakoby přečíst binárně funkcí pg_read_binary_file hele a v db ho jako schovat v proměný typu bytea hele?????? :O ;D

    20.4.2020 06:47 Martin
    Rozbalit Rozbalit vše Re: Postgresql - text - utf8 - \r \n \t ...
    Ano, to jsem také zkoušel. Bohužel, v okamžiku, kdy chci již naimportované bytea parsovat (regexp_replace), musím ho převést na text - a je to tam znovu. Vlastně každý převod z bytea na text končí s vloženými \r \t ...
    20.4.2020 06:57 okbobcz | skóre: 8
    Rozbalit Rozbalit vše Re: Postgresql - text - utf8 - \r \n \t ...
    Implicitní cast z bytea do textu escapuje bílé znaky. Pokud člověk se chce vyhnout této nechtěné konverzi, tak je potřeba použít vlastní funkci:
    CREATE OR REPLACE FUNCTION public.bytea_to_text(bytea)
     RETURNS text
     LANGUAGE sql
    AS $function$
    SELECT convert_from($1, current_setting('server_encoding'))
    $function$
    
    20.4.2020 05:42 okbobcz | skóre: 8
    Rozbalit Rozbalit vše Re: Postgresql - text - utf8 - \r \n \t ...
    K tomuhle by se pg_read_file vůbec nemělo používat. Tahle funkce je navržená pro adminy (server side) pro načítání konfiguráků. Už to, že tuto funkci může používat pouze super user signalizuje, že není navržená pro běžným uživatelem. Postgres je client-server databáze, nikoliv souborová databáze.

    Pokud potřebujete naimportovat soubor, tak pokud je v řádech kilobajtů, tak nejjednodušší je jej načíst na straně klienta, oescapovat a vygenerovat insert. nebo použít prepared statement nebo parametrized statement a pak se nemusí nic escapovat, jelikož obsah jde separátním kanálem.

    Inspiraci můžete čerpat z pgimportdoc

    Další možnost - už přes soubory je načíst soubor do Postgresu jako large Object skrze lo_import. Pak už na serveru je zkonvertovat na text nebo bytea, funkcí lo_get - ukázka. Příklad je v článku na rootu "PostgreSQL 9.4: transakční SQL JSON databáze".

    20.4.2020 07:32 Martin
    Rozbalit Rozbalit vše Re: Postgresql - text - utf8 - \r \n \t ...
    K tomu pg_read_file - je to na serverové straně, a jsou to malé soubory, které se načtou během vytváření databáze.
    ... Pak už na serveru je zkonvertovat na text nebo bytea,
    A o tohle mi jde. Jako bytea je to ok, ale bytea nemohu převést na text -> zase tam vzniknou řetězce \r\n.
    Př.: vezmu string "Hello" + chr(13)+chr(10) + "world"
    select convert_from('\x48656c6c6f0d0a576f726c64','utf8');
    
    console: Hello\r
    world
    copy (select convert_from('\x48656c6c6f0d0a576f726c64','utf8')) to 'testfile.txt';
    
    Soubor obsahuje: Hello\r\nworld
    Díky.
    20.4.2020 07:42 okbobcz | skóre: 8
    Rozbalit Rozbalit vše Re: Postgresql - text - utf8 - \r \n \t ...
    \r bude dost mozna jen o zobrazeni. Postgres \r interne chr(13) zobrazuje jako \r. Interne to ale nejsou dva znaky tj \ a r
    postgres=# select 'Ahoj' || chr(13) || 'Svete';
    ┌─────────────┐
    │  ?column?   │
    ╞═════════════╡
    │ Ahoj\rSvete │
    └─────────────┘
    (1 row)
    
    Kdezto
    postgres=# select 'Ahoj' || chr(10) || 'Svete';
    ┌──────────┐
    │ ?column? │
    ╞══════════╡
    │ Ahoj    ↵│
    │ Svete    │
    └──────────┘
    (1 row)
    
    Jde o to, ze Postgres nezna vyznam \r (chr(13)) a tak jej zobrazi jako \r. Postgres je Unixova databaze, tam se \r pro zalomeni nepouziva.

    Pokud se ho chcete zbavit, tak jej musite smazat.
    20.4.2020 07:43 okbobcz | skóre: 8
    Rozbalit Rozbalit vše Re: Postgresql - text - utf8 - \r \n \t ...
    V Unixu je konec řádku \n, v Dosu \r\n. Postgres escape sekvence, které neumí interpretovat, zobrazuje.
    20.4.2020 07:45 okbobcz | skóre: 8
    Rozbalit Rozbalit vše Re: Postgresql - text - utf8 - \r \n \t ...
    Cokoliv, co vyžaduje superusera, by se pro běžnou práci nemělo používat - pg_read_file. Samozřejmě, že může jít jen o Vaši soukromou aplikaci, ale jinak je to prasárna.

    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.