Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Přílihy pojmenované s diakritikou v Thunderbirdu [vyřešeno]  (Přečteno 4866 krát)

JDe

  • Návštěvník
  • Příspěvků: 10
Dostanu mail s přílohou (např. Pozvánka.doc), příloha má ve jméně diakritiku. Takových mailů dostávám bohužel spoustu. Většinou nechci přílohu ukládat do souboru, chci ji přímo otevřít. Kliknu na přílohu, zvolím "otevřít v OpenOffice". OOo se nastartuje a oznámí chybu, že soubor /tmp/Pozvánka.doc neexistuje, ovšem na místě toho "á" se v té chybové hlášce zobrazí otazníček v černém poli. Nezbývá než zanadávat, uklidnit se, ručně uložit do souboru, otevřít (to jde), přečíst a pak nezapomenout smazat.

Příloha sama je v pořádku. Chyba je imho v tom, že TB se neshodne s OOo ve věci kódování ne-ascii znaků. Dočasný soubor je v /tmp pojmenován asi podle iso-8859-2 (ve výpise /tmp adresáře pomocí ls má písmeno á jednobajtový kód E1), ale jméno dočasného souboru je do OOo zřejmě předáváno nějak jinak, odhaduji v utf-8? Jenže když zkusím v OOo otevřít ten dočasný soubor v /tmp, tak mi taky tvrdí, že soubor neexistuje.

Je správný můj dojem, že jde o chybu v Thunderbirdu? IMHO by jméno dočasného souboru mělo být převedeno do utf-8 ?
Nebo je chyba v OOo, že neotevírá soubory s divným jménem?  Nebo mám někde něco blbě nastaveno? 
« Poslední změna: 07 Ledna 2009, 13:45:27 od JDe »

Fracty

  • Stálý člen
  • **
  • Příspěvků: 809
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #1 kdy: 03 Ledna 2009, 15:53:36 »
V Evolutionu funguje bez problémů.... otevře se to korektně...

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5058
    • Lomítkáři
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #2 kdy: 03 Ledna 2009, 17:16:23 »
Zkuste změnit výchozí znakovou sadu na složce v TB z ISO-8859-2 na UTF-8, ale nejsem si jist, zda to pomůže, s touto chybou jsem se ještě nesetkal.
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #3 kdy: 03 Ledna 2009, 17:35:19 »
Tak to je fakt divný. Pošlu si mail s přílohou "ěščČÁ gjkfgj.doc", přijde správně jako
Kód: [Vybrat]
Content-Type: application/msword;
 name="=?ISO-8859-2?Q?=EC=B9=E8=C8=C1_gjkfgj=2Edoc?="
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename*=ISO-8859-2''%EC%B9%E8%C8%C1%20%67%6A%6B%66%67%6A%2E%64%6F%63
tedy kódování ISO-8859-2. Soubor je pak uložen v tmp zase správně jako
Kód: [Vybrat]
-r-------- 1 arrange arrange 95744 2009-01-03 17:08 ěščČÁ gjkfgj.docUbuntu by mělo jako výchozí sadu pro jména souborů používat UTF-8, čili u mě převod ISO→UTF bez problémů, a OO to opravdu bez problémů otevře. Divné tedy je, že už v tom tmp máš špatně ten název. Jaké používáš Ubuntu a Thunderbird?
http://www.openstreetmap.org - mapy celého světa "wiki style"

JDe

  • Návštěvník
  • Příspěvků: 10
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #4 kdy: 03 Ledna 2009, 23:38:00 »
Používám Ubuntu 8.04, Thunderbird je 2.0.0.18 z distribuce. (novější existuje, ale v distribuci 8.04 ještě není)

Když sám sobě pošlu svůj vlastní soubor, který má ve jméně diakritiku (a ta je v utf-8), TB mi před odesláním zobrazuje jméno přílohy "se čtverečky", tedy blbě, každý háčkovaný i čárkovaný znak se zobrazuje jako dva. Tedy vypadá to, že TB nepochopil, že jméno souboru dostal v utf-8. Když dopis přijmu, vypadá jméno přílohy podobně blbě, ale OOo to v pohodě otevře. Dočasný soubor v /tmp je pojmenován v utf-8. A také v hlavičce přílohy dopisu je jméno souboru kódováno v utf-8.

Ovšem ty dopisy, které mne tak štvou, mi posílají lidé z Windows, jména příloh jsou imho korektně kódována v iso-8859-2, někdy dokonce i v iso-8859-1 (což je ovšem OK, pokud obsahují jen áé). Jména těchto příloh mi TB sice zobrazuje správně, do dočasného souboru se to ovšem uloží se jménem v kódování iso (tedy zřejmě tak, jak to dostal, bez překódování).

Napadá mne, že v kódování utf-8 znak s hexa kódem E1 neexistuje a že OOo odmítá otevřít soubor s nekorektním jménem.
Zajímavé je, že "celkové foto.jpg" s chybnou diakritikou se otevře v OOo z příkazové řádky, ale nikoli z dialogu pro otevření souboru, tam btw píše poznámku "(neplatné kování)". Soubor "pozvánka.doc" mi OOo neotevře ani z příkazové řádky. Tak trochu to je škoda, ale asi je to v pořádku.

TB 2.0.0.18 při pokusu o přímé otevření přílohy tuto přílohu ukládá do chybně pojmenovaného souboru. To je imho jasná chyba TB.
Zajímavé je, že když přílohu uložím do souboru "ručně" (tedy zvolím uložit, nikoli otevřít), tak mi pro uložení nabízí jméno se správnou diakritikou, přílohu pod nabídnutým jménem korektně uloží a výsledný soubor pak samozřejmě lze v OOo otevřít.

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5058
    • Lomítkáři
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #5 kdy: 03 Ledna 2009, 23:42:02 »
Děje se to jen z TB, nebo se to stane i při otevírání z netu tj. z FF?
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

JDe

  • Návštěvník
  • Příspěvků: 10
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #6 kdy: 04 Ledna 2009, 22:29:39 »
Dobrá otázka. Zkusil jsem tedy pomocí Firefoxu (3.0.5, opět z U8.04) stáhnout přílohu téhož dopisu (via SquirrelMail z téhož IMAP serveru). A ejhle, ono to taky nejde přímo otevřít a to se stejnou chybovou hláškou. A v /tmp se mi objeví stejně špatně pojmenovaný soubor. Odchytil jsem si tedy pomocí LiveHTTPheaders hlavičku, jak byl soubor ze serveru poslán. A k mému zděšení tam bylo
content-disposition: inline; filename="Pozvánka 090114.doc"^
Content-Type: application/msword; name="Pozvánka 090114.doc"^
kde to dlouhé á bylo zakódováno ve dvou bajtech, tedy zjevně v UTF-8 (a LiveHTTPheders to blbě zobrazil jako dva znaky, první byl A s vlnkou a druhý byl malý obrácený vykřičník).
Mám dojem (opravte mne, prosím, jestli se pletu), že v HTTP hlavičce by neměly být 8-bitové znaky. To by vypadalo na chybu Squirrelmailu, který jméno suboru iniciativně překódoval z ISO do UTF, ale již neošetřil 8-bitové znaky. Kromě toho ale nechápu, proč FF uložil přílohu do dočasného souboru, v jehož jméně je á kódováno v ISO, když jméno dostal v UTF.

Pikantní je, že kontrolní dopis, který jsem si sám pomocí TB poslal z Ubuntu, má jméno přílohy v UTF-8 a jak TB, tak i FF takovou přílohu umí přímo otevřít, ačkoli její jméno zobrazují oba (TB i FF) blbě, totiž jako A s vlnkou a obrácený vykřičník.

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #7 kdy: 04 Ledna 2009, 22:43:21 »
No, když si v TB nastavím v Předvolby→Zobrazení→Písma→Znaková sada pro odchozí i příchozí poštu, TB převede do dané znakové sady i název přílohy, i pokud si tu poštu vytvořím sám. To je pak možno zkontrolovat pomocí Zdroje zprávy (Ctrl+U), před tou přílohou je např.
Kód: [Vybrat]
Content-Type: application/msword; name="=?UTF-8?B?xJvFocSNxIzDgSBnamtmZ2ouZG9j?=" když je to v UTF. U Tebe to tedy znamená, že si to TB převede např. do UTF, a pak to sám korektně neumí zobrazit?
http://www.openstreetmap.org - mapy celého světa "wiki style"

JDe

  • Návštěvník
  • Příspěvků: 10
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #8 kdy: 06 Ledna 2009, 16:55:37 »
Můj problém se netýká dopisů, které odesílám, ale těch, které mi přicházejí. Dopisy, které posílám z Ubuntu mají jméno přílohy tak jak bylo na disku, tedy v UTF-8. Problémy mám s dopisy, které mi chodí od lidí z Windows. Nemohu ovlivnit, jak mi to ti lidé posílají. Pokud příchozí dopis dodržuje RFC, nemám ani právo protestovat.

Zkusil jsem si nastavit znakovou sadu pro došlé dopisy na UTF-8 (bylo tam původně ISO-8859-2) a nepomohlo to.
No, vlastně se ani nedivím, jde totiž o výchozí znakovou sadu. Chápu to tak, že tato sada se použije, když dopis specifikaci znakové sady neobsahuje. Jenže ty dopisy specifikaci znakové sady obsahují a to jak pro textovou část, tak i pro jméno přílohy. Samotný text se zobrazí správně. Jméno přílohy se zobrazí taky správně, ale do dočasného souboru se zapíše v kódování, které je uvedeno v té hlavičce přílohy.
Hlavička přílohy obsahuje (IMHO korektně) toto:

--=__Part40685A1C.7__=
Content-Type: application/msword; name="=?ISO-8859-2?Q?Pozv=E1nka=20090114?=
 =?ISO-8859-2?Q?.doc?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="=?ISO-8859-2?Q?Pozv=E1nka=20090?=
 =?ISO-8859-2?Q?114.doc?="

Zkusil jsem (ze zoufalství) zaškrtnout, že se má použít výchozí znaková sada (UTF-8) pro všechny dopisy. Samotný dopis pak byl zobrazen nečitelně (pochopitelně), jméno přílohy taky (ale jinak než předtím) a přímo tu přílohu pomocí OOo otevřít opět nešlo.

Dělá to na mne dojem, že chyba je v TB. Ale překvapuje mne, že si na tento problém nikdo jiný nestěžuje.

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #9 kdy: 06 Ledna 2009, 19:49:00 »
Můj problém se netýká dopisů, které odesílám, ale těch, které mi přicházejí.
Já vím, ale reagoval jsem na tento Tvůj příspěvek
Když sám sobě pošlu svůj vlastní soubor, který má ve jméně diakritiku (a ta je v utf-8), TB mi před odesláním zobrazuje jméno přílohy "se čtverečky", tedy blbě, každý háčkovaný i čárkovaný znak se zobrazuje jako dva.

Zkusil jsem naočkovat mail v mém TB tím kouskem z Tvého mailu
Kód: [Vybrat]
Content-Type: application/msword; name="=?ISO-8859-2?Q?Pozv=E1nka=20090114?=
 =?ISO-8859-2?Q?.doc?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="=?ISO-8859-2?Q?Pozv=E1nka=20090?=
 =?ISO-8859-2?Q?114.doc?="
a zobrazuje to správně jako Pozvánka 20090114.doc. Problém tedy není na straně odesilatele, ale ani ne v TB. Asi máš nějaké špatné nastavení. Napadá mě např., jak máš nastavený klíč mailnews.force_charset_override v about:config (true/false)? Příp. se podívej i na ostatní, když do hledání zadáš charset apod.
http://www.openstreetmap.org - mapy celého světa "wiki style"

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5058
    • Lomítkáři
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #10 kdy: 07 Ledna 2009, 08:56:49 »
Jen se ještě pro jistotu zeptám - mail server je nějaký Váš, nebo většího charakteru?
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

JDe

  • Návštěvník
  • Příspěvků: 10
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #11 kdy: 07 Ledna 2009, 13:43:01 »
Tak jsem to našel. 

Všechny volby v about:config jsem nastavil na default -- nepomohlo.
Zkusil jsem přejmenovat celý adresář ~/.mozilla-thunderbird a začal jsem s čistým uživatelským profilem -- opět bez výsledku, stále táž chyba.
Na jiném počítači, rovněž pod Ubuntu 8.04, to vesele fungovalo. Tak jsem začal porovnávat environmentové proměnné a pak jsem si vzpomněl:

Někdy během podzimu jsem si hrál s nastavením proměnné LC_COLLATE pro TB -- pokoušel jsem se ovlivnit řazení poštovních složek (neúspěšně) -- a zapomněl jsem to nastavení zrušit. Zdánlivě to ničemu nevadilo. Fuj, to je ale ošklivý vedlejší efekt.

Děkuji všem, kteří se mi snažili pomoci.

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5058
    • Lomítkáři
Re: Přílihy pojmenované s diakritikou v Thunderbirdu
« Odpověď #12 kdy: 07 Ledna 2009, 13:45:38 »
To je ovšem vtip dne :)
Hlavně, že jste to našel :)

k+
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

 

Provoz zaštiťuje spolek OpenAlt.