Re: UTF-8 output
Phyks <[email protected]> Sat, 9 Jan 2016 01:57:53 +0100
| Newsgroups | gmane.network.lftp.user |
|---|---|
| Message-ID | <[email protected]> |
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
signature.asc
(application/pgp-signature, 819 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWkFsRAAoJEHW0XPQfM0aQqEgP/jFsThYZTL5lB7bFPrzbDbZM CawMdEqp0KO1i7wdPzx9KwffQF8BKMW/fBdNFqn5vFoVkz8kxjSw++DIXQivXvNT x7DtASO1KyQ/UyJ1Z562HzDcbJ+SRs40AbT2C26zYHM70lF5BcYcFUwMyJLQL/AS p+hdKL8D9KtzaC9+bvgzG9uKO15ZZQHVFjldoTsyVCkqXe194mQMn/UzBKqQa5e9 eIuMkXObpsIaWfr7HrX9Gd6v7fL5xnSt6omrXNsdaEr5cs+B8tEnSuzWPPFpjejd z85CilJ5+wpwmBETMExXCtN3u9Ujbrb1QR01zXYXPTkW4c95aayaiRu4uOZdbFft 1BjhcKS+8Fat4ZUsiv/uPMToP97qodPA1FQvc6WWVfFtaNAdN4YstZLJMDqSCz7s QdnboKdlWTTacit7T71hUsCHJTqZ6jft/qpObiLoYVLIN6jc5cvpyAFFuVJZPAyD XKIGBOkni3WXnBDwwQd9Ec45Z7rQ4I6mxXRLIRlyHkK4JnA/Su4ngrqyTGjL5bSK eLUcPr/X0Ki1QQ5DUP8nBBGtW4QnV3DL2bsTxk9Ab+N7ba14RiJ26nPaQQWd38SC XcsEDdH3dLHGYV1DUFgQkxAj8AY7rkcwTFphsKdoczZDWqptFOb81byDlu2wwAFP xFayxXSzd8w1jLiGarX0 =1l9G -----END PGP SIGNATURE-----