Article View: pl.comp.lang.pascal
Article #92934Re: Polskie znaki w nazwach plików (Windows) (Lazarus 0.9.28)
From: AdminOPZ
Date: Mon, 21 Dec 2009 22:25
Date: Mon, 21 Dec 2009 22:25
55 lines
2931 bytes
2931 bytes
On 21 Gru, 19:45, Terrmit <terrm...@poczta.onet.pl> wrote: > W dniu 21.12.2009 19:15, Admin...@gmail.com pisze: > > > Witam, > > [ciach] > > > W wypadku polskich znaków w nazwie pliku np > > c:\ðśą.jpg , wyrzuca "Unable to open file xxx". > >http://www.bankfotek.pl/view/479548 > > > Jeżeli przekazuje np c:/test.jpg , nie ma żadnych problemów... > >[ciach] > > Prawdopodobnie gdzieś zostaje przeinaczona ta nazwa pliku > na skutek nieprawidłowej konwersji kodowania znaków. > > Ja bym sprawdził, na przykładzie kontrolki TSavePictureDialog > jaką nazwę będzie miał plik na dysku, gdy jako FileName > podasz mu np. zażółć_gęślą_jaźń.jpg > > Może to coś rozjaśni co się dzieje z kodowaniem. > > Sławek Witaj, Problem rozwiązany, ale jak do tego doszedłem... Męczyła mnie kwestia tej kontrolki otwierania i okazało się że to nie w niej bezpośrednio leży błąd. Ona zwraca nam poprawną nazwę (jak na Windows-a), ale prawdopodobnie tj na 99% biblioteka IdMultipartFormData nie obsługuje "Windowsowego typu znaków". Dla testu wprowadziłem mu następujący kod: Stream.AddFile( 'zdjecie', 'c:\Ziółma.jpg', 'content-type_here' ); - wykonanie zakończyło się błędem, brak pliku "c:\Ziółma.jpg". Kolejna próba, zastępując polskie znaki poprzez ich odpowiedniki ASCII Stream.AddFile( 'zdjecie', 'c:\Zi'+chr(243)+chr(179)+'ma.jpg', 'content-type_here' ); - Próba zakończyła się sukcesem. W związku z powyższym rozwiązaniem okazał się następujący kod: zdjecie:=OpenPictureDialog1.FileName; zdjecie:=Utf8ToAnsi(zdjecie);
Technical Details
Message-ID:
<f4a14f69-904c-4cae-b45d-1fbf08028489@h9g2000yqa.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!h9g2000yqa.googlegroups.com!not-for-mailReferences:
<0d51824f-13b1-4e98-bd41-023173cebda4@b2g2000yqi.googlegroups.com> <hgofr3$6g1$1@news.mm.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!h9g2000yqa.googlegroups.com!not-for-mail From: "AdminOPZ@gmail.com" <adminopz@gmail.com> Newsgroups: pl.comp.lang.pascal Subject: Re: Polskie znaki w nazwach plików (Windows) (Lazarus 0.9.28) Date: Mon, 21 Dec 2009 14:25:05 -0800 (PST) Organization: http://groups.google.com Lines: 65 Message-ID: <f4a14f69-904c-4cae-b45d-1fbf08028489@h9g2000yqa.googlegroups.com> References: <0d51824f-13b1-4e98-bd41-023173cebda4@b2g2000yqi.googlegroups.com> <hgofr3$6g1$1@news.mm.pl> NNTP-Posting-Host: 89.75.215.207 Mime-Version: 1.0 X-Trace: posting.google.com 1261434305 22471 127.0.0.1 (21 Dec 2009 22:25:05 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 21 Dec 2009 22:25:05 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: h9g2000yqa.googlegroups.com; posting-host=89.75.215.207; posting-account=XkXzfwoAAAB5MPYvlaz8MkHkcK8FUSl4 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.1.6) Gecko/20091215 Ubuntu/9.10 (karmic) Firefox/3.5.6,gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit