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 01:22 | Nová verze

    Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Bezpečnostní upozornění

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 3
    včera 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 11
    včera 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

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

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    7.10. 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    7.10. 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 3
    7.10. 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    7.10. 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 5
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 198 hlasů
     Komentářů: 13, poslední včera 07:41
    Rozcestník

    Dotaz: ruby a invalid byte sequence in UTF-8

    23.7.2010 02:24 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    ruby a invalid byte sequence in UTF-8
    Přečteno: 435×
    Chcem v Ruby(1.9 a 1.9.1) nacitat normalne subor mailu (co subor to mail) a ked ho zacnem citat a pride na riadok kde je dake kodovanie napise tieto chyby:

    invalid byte sequence in UTF-8 (ruby 1.9.1) broken UTF-8 string (ruby 1.9.0

    Precita zo subora aj 18 az 28 riadkov a potom p[adne na chybe zistil som ze vzdy tam kde je diakritika.

    Subor je mail a teda moze byt v kodovani 1250, 1251, utf-8 8859-2 atd

    Ako teda v Ruby nacitat tieto znaky tak aby nepisali chybu bez ohladu na kodovanie ? Napr ich prekodovat do 7 bit ? Skusal som vsetko mozne aj "r:UTF-8". Please poradte.

    Kod je jednoducy:
    begin
         File.new(cesta_subor,"r").each { |line|
              puts line
         }
    rescue
          puts "Chyba citania suboru #{subor}: #{$!}"
          next
    end

    Odpovědi

    23.7.2010 12:58 ET
    Rozbalit Rozbalit vše Re: ruby a invalid byte sequence in UTF-8
    Zdar, koukni se na ty soubory hexa editorem a koukni jestli tam neni naka prasarna, mozna by to mohlo bejt tohle - http://en.wikipedia.org/wiki/Byte_order_mark
    23.7.2010 22:27 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: ruby a invalid byte sequence in UTF-8
    Su to normalne maily a ked ich otvorim v kodovani v akom su tak sa pekne daju precitat. Len ide o to ze maily maju rozne kodovania textu od 1250, 1251, 8859-1, 8859-2 az po utf-8 a ruby nevie za pana ich precitat.

    Ked ten subor precitam funkciou arr=IO.readlines(dir+subor), tak to pekne komplet nacit ado array ael dalej ked to chcem spracovavat tak to iste ako ked to citam

    na tomto to spadne tiez: arr.each {|line| }
    23.7.2010 22:27 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: ruby a invalid byte sequence in UTF-8
    Su to normalne maily a ked ich otvorim v kodovani v akom su tak sa pekne daju precitat. Len ide o to ze maily maju rozne kodovania textu od 1250, 1251, 8859-1, 8859-2 az po utf-8 a ruby nevie za pana ich precitat.

    Ked ten subor precitam funkciou arr=IO.readlines(dir+subor), tak to pekne komplet nacit ado array ale dalej ked to chcem spracovavat tak to iste ako ked to citam

    na tomto to spadne tiez: arr.each {|line| }
    23.7.2010 22:27 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: ruby a invalid byte sequence in UTF-8
    Su to normalne maily a ked ich otvorim v kodovani v akom su tak sa pekne daju precitat. Len ide o to ze maily maju rozne kodovania textu od 1250, 1251, 8859-1, 8859-2 az po utf-8 a ruby nevie za pana ich precitat.

    Ked ten subor precitam funkciou arr=IO.readlines(dir+subor), tak to pekne komplet nacita do array ale dalej ked to chcem spracovavat tak to iste ako ked to citam

    na tomto to spadne tiez: arr.each {|line| }
    25.7.2010 08:53 Michal Karas | skóre: 45 | blog: /dev/random
    Rozbalit Rozbalit vše Re: ruby a invalid byte sequence in UTF-8
    Tak z toho důvodu je v hlavičkách Content-Type, ne? Tak při čtení nastavuj řetězcům kódování, ve kterém opravdu jsou. Anebo použij nějakou knihovnu, která má tohle vyřešené, například mikel's mail vypadá nadějně.
    28.7.2010 12:47 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: ruby a invalid byte sequence in UTF-8
    A to by znamenalo ze mu pred kazdym citanim mailu musim nastavit v akom je kodovani? To je predsa nemyslitelne, to nevie ruby jednoducho spracovat text v akomkolvek kodovani?

    To ej ale citanie mailu z disku(ako subor) nie cez cez protokol POP3 a pod (a ani sa k nemu tak neda dostat)

    Tento program prerabam z pythona a ten to vedel spracovat v pohode, no chcel som prejist na ruby vo vsetkom co pouzivam.
    28.7.2010 14:59 l4m4
    Rozbalit Rozbalit vše Re: ruby a invalid byte sequence in UTF-8
    Buď s tím souborem pracuješ coby se sekvencí bajtů, tj. obsah souboru tě v podstatě nezajímá, nebo coby s textem (či dokonce se strukturovaným textem -- mailem), jeho obsah tě zajímá, a v tom případě ho musíš správně dekódovat a rozparsovat, na což existují knihovny.

    Ruby určitě umí i tu první možnost, ale pochybuji, že je to to, co chceš.

    Ostatně v Pythonu by taky každý normální člověk použil funkce pro parsování mailu, které jsou přímo ve standardní knihovně...
    28.7.2010 12:49 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: ruby a invalid byte sequence in UTF-8
    aj tak dik pozriem na ten mail, ale chcel som sa vyvarovat nieco "gemovat" koli tak niecomu trivialnemu, chcel som pouzit cisty Ruby, to sa neda?
    2.8.2010 03:27 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: ruby a invalid byte sequence in UTF-8
    mail.read som skusal ale neriesi to moj problem tiez vyhadzuje problem s kodovanin pri niektorych mailoch (mozno cisnke)

    Alebo existuej moznost ako arra (tam sa mi to da nacitat) komplet skonvertovat do napr. 8859-1 alebo utf-8 ?

    Vdaka.
    3.8.2010 08:59 Michal Karas | skóre: 45 | blog: /dev/random
    Rozbalit Rozbalit vše Re: ruby a invalid byte sequence in UTF-8
    pole.map! {|x| x.encode('UTF-8')}
    Ale stejně ti tam bude pořád lítat výjimka, pokud si pomocí String#force_encoding nenastavíš kódování, ve kterém ty řetězce opravdu jsou.

    Yehuda Katz pěkně popisuje současný stav s kódováním v Ruby 1.9: Encodings, Unabridged. Možná ti to trochu pomůže.

    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.