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 02:44 | IT novinky

    Microsoft Defender nově podporuje linuxové desktopy.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Komunita

    Oficiální Epic Games Launcher je v nové preview verzi poprvé dostupný i pro Linux (FAQ). Pracuje se na novém Easy Anti-Cheatu pro Linux (EAC Linux v2) a podpoře hry Fortnite na Linuxu.

    Ladislav Hagara | Komentářů: 1
    včera 13:44 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.8. Novinky zahrnují lepší podporu vzdálené plochy, sdílení a nahrávání obrazovky a řadu drobností napříč uživatelským rozhraním (úplný seznam změn, shrnutí ve wiki).

    ʚĭɞ 🍉 | Komentářů: 16
    včera 10:55 | IT novinky

    Apple představil 7palcový displej Apple HomeView s podporou Apple Intelligence a Siri AI pro ovládání chytré domácnosti, novou řadu vybavení chytré domácnosti Apple Home Collection, další generaci HomePodu mini a novou Apple TV 4K. Apple HomeView není v Evropské unii v prodeji, jelikož umělá inteligence Siri v rámci systému iOS v EU momentálně není k dispozici. Apple spolupracuje s EU a snaží se najít cestu, jak situaci vyřešit.

    Ladislav Hagara | Komentářů: 3
    včera 03:55 | Komunita

    KDE slaví 30 let. Přesně před 30 lety, 14. října 1996, poslal Matthias Ettrich do diskusní skupiny comp.os.linux.misc zprávu, která započala historii projektu KDE. Důležité milníky jsou zobrazeny na časové ose.

    Ladislav Hagara | Komentářů: 3
    včera 03:22 | Nová verze

    Byl vydán Mozilla Firefox 158.0. Stejně jako Chrome 155 s podporou JPEG XL (test). Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 158 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 03:00 | Nová verze

    Svobodný kancelářský balík ONLYOFFICE (Wikipedie) byl vydán ve verzi 10.0. Jak online Docs, tak i offline Desktop Editors. Přehled novinek také na YouTube.

    Ladislav Hagara | Komentářů: 0
    13.10. 14:44 | IT novinky

    Mozilla představuje Firefox Enterprise určený jako podnikový prohlížeč pro organizace s přísnými požadavky na bezpečnost, správu a dodržování předpisů. S profesionální podporou. Dostupný je zatím ve Francii, Německu, Rakousku a Švýcarsku.

    Ladislav Hagara | Komentářů: 11
    13.10. 14:33 | Bezpečnostní upozornění

    Kybernetický útok zasáhl nejméně 150 supermarketů Intermarché a několik prodejen řetězců Leclerc a Coopérative U. Chladicí jednotky napadených obchodních domů byly nastaveny na nepřetržité odmrazování a teplota v nich mnohdy vystouala až nad 50°C. Škody napáchané na chlazeném a mraženém zboží budou patrně dosahovat miliónů eur.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 4
    13.10. 04:00 | Komunita

    Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).

    ❗Červivý Hřib krade❗ | Komentářů: 28
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2845 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    Rozcestník

    Jetty 6 a problémy s kódováním Latin2 ve formulářích

    4.1.2007 22:08 | Přečteno: 1595× | Java

    (English summary at the end of the article) Uvažoval jsem, že upgradnu jetty, na kterém běží abíčko, z historické verze 4.1.20 na aktuální. Dlouho jsem se k tomu neměl, nejdříve kvůli chybě jsem měl opatchovanou verzi a nebyl jsem si jist, zda můj patch byl začleněn a pak u řady 5 chyběly startovací skripty. A vůbec, kdo by šťoural do něčeho, co funguje, že? :-) Teď jsem se k tomu dostal, ale po odeslání formuláře jetty 6.0.2 byly znaky s diakritikou zničeny.

    Chvíli jsem si s tím tedy hrál v debuggeru a skutečně metoda request.getParameter() vracela deformovaná data, se kterými překódování pomocí new String(param.getBytes("ISO-8859-1")) už nic nesvedlo. Zeptal jsem se v konferenci a dostal jsem pár tipů, například request.setEncoding("ISO-8859-2") nebo System.setProperty("org.mortbay.util.URI.charset","ISO-8859-2"). Nicméně tyto rady neměly žádný efekt.

    Nakonec jsem si napsal testovací webovou aplikaci se servletem, který se dá konfigurovat, jaké kódování má requestu nastavit a dva jsp soubory s dvěma formuláři, které odesílají vstup (žížala) jednou přes POST podruhé přes GET. Jedno jsp bylo v ISO-8859-2 kódování, druhé v UTF-8. A jal jsem se testovat všechny možné kombinace, v jetty řady 4.1 i 6.0 a 6.1. Přitom jsem snifferem zjistil, že Firefox odesílá vstup jinak v závislosti na kódování HTML souboru (jak překvapivé, Watsone). Závěr je, že jetty 4 se chová jinak než jetty 6 a že pod jetty 6 spolehlivě fungují formuláře, pokud jsou ve stránce kódované pomocí UTF8, zato v ISO-8859-2 nefungují spolehlivě nikdy. Detaily najdete v příloze.

    English version

    When I upgraded jetty from version 4.1.20 to 6.0.2 I found that it damages request parameters. The characters with caron from ISO-8859-2 encoding where replaced by ? character or disappeared at all. The trick with recoding new String(param.getBytes("ISO-8859-1")) using did not work. I asked in jetty conference and tested few tips without luck: request.setEncoding("ISO-8859-2"), System.setProperty("org.mortbay.util.URI.charset","ISO-8859-2"). So I decided to test this topic thouroughly and wrote simple webapp consisting of two same jsp files and servlet dumping the request parameter. The jsp files contained two identical forms sending word 'žížala' either by GET or POST method to the servlet. One jsp file was encoded in UTF-8, the second in ISO-8859-2 encoding. I tested all combinations with both jetty versions and found difference between them. Jetty 6 can reliably accept accented characters if and only if the form was sent from HTML page encoded to UTF-8. When the page was encoded to ISO-8859-2 (latin2), then it is not possible to find setting suitable for both GET and POST methods. Test web application including complete results.

           

    Hodnocení: 89 %

            špatné • dobré        

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

    Komentáře

    Vložit další komentář

    DjAARA avatar 5.1.2007 10:51 DjAARA | skóre: 32 | Praha|Náklo|Olomouc
    Rozbalit Rozbalit vše Re: Jetty 6 a problémy s kódováním Latin2 ve formulářích
    Nepomohlo by někde na začátek zpracování (dřív než cokoliv z požadavku přečteš) dát něco jako:

    req.setCharacterEncoding("iso-8859-2");
    DjAARA avatar 5.1.2007 11:00 DjAARA | skóre: 32 | Praha|Náklo|Olomouc
    Rozbalit Rozbalit vše Re: Jetty 6 a problémy s kódováním Latin2 ve formulářích
    Aha, tak jsem koukl do zdrojáků a tam to tak máš…
    5.1.2007 11:03 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Jetty 6 a problémy s kódováním Latin2 ve formulářích
    To je prave to, co jsem testoval a v jetty 6 nefunguje, pokud je HTML stranka s formularem v kodovani Latin2.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    5.1.2007 11:17 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Jetty 6 a problémy s kódováním Latin2 ve formulářích
    Aby to fungovalo v Jetty 6.1, je nutné nastavit QueryEncoding (je to rozčíření Jetty), RequestCharacterEncoding se u GETu vůbec nebere v úvahu. S následujícíém nastavením mi funguje testLatin2:
    import org.mortbay.jetty.Request;
    ...
        protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
            if (requestEncoding != null)
              request.setCharacterEncoding(requestEncoding);
        	(Request)request).setQueryEncoding("iso-8859-2");
    
            String tmp = request.getParameter("note");
            String tmp1 = new String(tmp.getBytes("ISO-8859-1")); // this is correct for request locale cs
            String tmp2 = new String(tmp.getBytes("ISO-8859-2"));
            String tmp3 = new String(tmp.getBytes("UTF-8"));
    
            response.setContentType("text/html; charset=ISO-8859-2");
            Writer w = response.getWriter();
            ...
    
    5.1.2007 11:20 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Jetty 6 a problémy s kódováním Latin2 ve formulářích
    Ještě doplním - v Jetty 6.0 to fungovat nebude, tam je natvrdo UTF-8 - změna je v metodě decodeQueryTo třídy org.mortbay.jetty.HttpURI, musí tam být
    public void decodeQueryTo(MultiMap parameters, String encoding) 
            throws UnsupportedEncodingException
        {
            if (_query==_fragment)
                return;
           
            if (encoding==null)
                encoding=URIUtil.__CHARSET;
            
            if (StringUtil.isUTF8(encoding))
                UrlEncoded.decodeUtf8To(_raw,_query+1,_fragment-_query-1,parameters);
            else
                UrlEncoded.decodeTo(StringUtil.toString(_raw,_query+1,_fragment-_query-1,encoding),parameters,encoding);
        }

    Založit nové vlákno • Nahoru

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