Re: UTF-8 output
Phyks <[email protected]> Sun, 10 Jan 2016 16:09:05 +0100
| Newsgroups | gmane.network.lftp.user |
|---|---|
| Message-ID | <[email protected]> |
Hi, I finally managed to narrow down the problem, but I am not sure of the correct way to solve it… Let's say I am running (in lftp) ``` mirror --dry-run --delete -c --use-pget-n=6 --parallel=4 photos/gallery/2014/2014-10\ Octobre /tmp ``` It returns me: ``` pget -n 6 -O "/tmp/(2014-10-15) Ã%89cocups" ftp://… ``` The problem comes from the partly url-encoded string. There is a à character which is not urlencoded into %c3. When I try to decode it with Python, I then get something like "\xc3%89" which is not a valid utf-8 sequence (should be \xc3\x89). I guess I could monkey patch above it, but I am feeling like either this is a bug or a misuse of lftp from my side. Thanks! Le 09/01/2016 01:57, Phyks a écrit : > I am now pretty much sure the problem comes either from the lftp side or > the FTP itself. > > Actually, I used the same script as previously used, on two different > folders. On one folder, it is working as is, and the output is well > UTF-8 (as it used to be, and this folder does have some special > accentuated characters). On the other one (which was the one I was using > when starting this thread), the output has to be parsed as latin-1. > > Both folders are on the same FTP, and launching lftp with "debug 10" > shows that apparently it sends the command to tell the FTP server to use > UTF-8 (which seems to be confirmed by the `ftp:charset` and > `file:charset` options). > > I do not have any problems using either directly Filezilla or lftp > because I guess they (or the shell) handles encoding conversion. > > Thanks > > Le 07/01/2016 20:47, Alexander Lukyanov a écrit : >> Can you check the locale under subprocess.run? Can the subprocess itself >> recode the output? >> >> чт, 7 янв. 2016, 21:52, Phyks <[email protected]>: >> >>> I did try to `set file:charset UTF-8` without any success. >>> >>> From the shell from which I run my Python script: >>> >>> ``` >>> % locale charmap >>> UTF-8 >>> >>> % locale >>> LANG=fr_FR.UTF-8 >>> LC_CTYPE="fr_FR.UTF-8" >>> LC_NUMERIC="fr_FR.UTF-8" >>> LC_TIME="fr_FR.UTF-8" >>> LC_COLLATE="fr_FR.UTF-8" >>> LC_MONETARY="fr_FR.UTF-8" >>> LC_MESSAGES="fr_FR.UTF-8" >>> LC_PAPER="fr_FR.UTF-8" >>> LC_NAME="fr_FR.UTF-8" >>> LC_ADDRESS="fr_FR.UTF-8" >>> LC_TELEPHONE="fr_FR.UTF-8" >>> LC_MEASUREMENT="fr_FR.UTF-8" >>> LC_IDENTIFICATION="fr_FR.UTF-8" >>> LC_ALL= >>> ``` >>> >>> Which should be ok AFAIK, no? >>> >>> In case it can be useful for anyone, here is the full script: >>> https://gist.github.com/Phyks/4e4c65fcd12d600374a7. Problem is with the >>> call at line 33. >>> >>> >>> Le 07/01/2016 19:42, Alexander Lukyanov a écrit : >>>> Probably you run lftp with a latin-1 locale. Try to set >>> LC_ALL=en_US.UTF-8 >>>> (for example). Alternatively you can force a local character set in lftp >>> by >>>> "set file:charset UTF-8". >>>> >>>> 2016-01-07 20:04 GMT+03:00 Phyks <[email protected]>: >>>> >>>>> Hi, >>>>> >>>>> I am using lftp from a Python script, calling it through >>>>> `subprocess.run`. Everything should be UTF-8 (shell, lftp is sending >>>>> OPTS UTF-8 to the server) and my Python script is using UTF-8, sends >>>>> UTF-8 to lftp on the stdin and expect UTF-8 on its stdout. >>>>> >>>>> But for some unknown reason, it seems that lftp is returning latin-1 >>>>> encoding, instead of UTF-8, for the directory listings. >>>>> >>>>> Are you aware of such a problem? I did not find any way to force lftp to >>>>> use UTF-8. >>>>> >>>>> Thanks! >>>>> >>>>> >>>>> _______________________________________________ >>>>> lftp mailing list >>>>> [email protected] >>>>> http://univ.uniyar.ac.ru/mailman/listinfo/lftp >>>>> >>>>> >>>> >>>> >>>> -- >>>> Alexander. >>>> >>> >>> _______________________________________________ >>> lftp mailing list >>> [email protected] >>> http://univ.uniyar.ac.ru/mailman/listinfo/lftp >>> >> > > > > _______________________________________________ > lftp mailing list > [email protected] > http://univ.uniyar.ac.ru/mailman/listinfo/lftp > _______________________________________________ lftp mailing list [email protected] http://univ.uniyar.ac.ru/mailman/listinfo/lftp
signature.asc
(application/pgp-signature, 819 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWknQRAAoJEHW0XPQfM0aQxtQP/28r4oRe4lLAifSVeP9KetQ8 MVpV5ecDvnCRf8TRtus5bQOpezIgp9G21iBmWVHQ/qbcaN91U3re03INjChdC3bg MN6xi9oaRxdm8y/o3j4hTPYlj6i7tOfs8boLouASll4QITer7ZtJMIGQFaNG/JgH xBWZK+XObqt6GXFX3JyE1m7ODptvMRb515KiY42FtM/LQO32ctIFavq7Ykso5H1M Q7/Gtcv644rA41a657uzSK20LuoJkkPN62wGIjuNsy4o8fKunP/gdFrKWGiTxdUU xTKSKZ094s+drgN/iwvsWk+AaXj7o2Tz+baPd7b2NBiYdRzsSOmmNRkfddQ95Bm6 4Xb9z/s55KA92gU7pFht2DQ0+emuD3HDuCytfp9QwPPYA8aA48Vaj0fxilQLuiZJ /5z7vECjPkYRNkGJoI9vWyu7MumxmX+GHx3R/7ukhCCKWreydk4/Adt9los2/hSi 952b8H9nP4N99t3qNF4EFZs8qso1zxQxGEn2i4NvBCTloU18HgxgcyYgaAJgB35R JnI2RqrQdw2DE/woPP04gz5Q7Y+xCm6W14azebBG6bjqUByVCILjDRwUSYScRds5 i630Ih1h/wnnVtefpC3MHs2mBSIXIfD2u00//UhHZhrXkxYVxQv4YzY+CK/EtB1A 7ODHYBIUAXFUXm6aHebE =AxcU -----END PGP SIGNATURE-----