qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
28.63k stars 4.01k forks source link

Add support for RSS decoding Windows-1251 (AKA Add Windows XP support) #17816

Closed LuminairPrime closed 1 year ago

LuminairPrime commented 2 years ago

Suggestion

I'm running a qBittorrent server that can't read the RSS feed I'm using. Apparently a library removed support for Windows-1251 encoding, see more: https://github.com/qbittorrent/qBittorrent/issues/16069#issuecomment-1013367740

Extra info

The RSS xml in question does not have any fancy characters visible to me. Notepad++ says it is encoded Windows-1251, and so does the qBittorrent log. But inside, it looks like a normal RSS with torrent links, just with this at the top:

encoding="windows-1251"

Maybe it's possible to ignore the encoding and attempt to parse it as another format? Then use whatever torrent files are found. This brute-force method could be stage 1 of this enhancement. Stage 2 could be either A) manually converting characters to make them UTF-8 compliant, or B) switching to a different library.

LuminairPrime commented 2 years ago

@glassez Thank you for the rename :) I just added a note to the description confirming that the file is encoded Windows-1251.

Can you show me what function does this work, and maybe I can figure out how to help? I'm not much of a programmer, but maybe I can figure out enough to suggest a good library or something.

Edit: I found that the libiconv maintainer Bruno Haible has good documentation about text encoding topics. including the details of cp1251: https://www.haible.de/bruno/charsets/conversion-tables/CP1251.html

The documentation of libiconv https://www.gnu.org/software/libiconv/ mentions support for 1251: CP{1250,**1251**,1252,1253,1254,1257}

It looks like the libiconv functions that would used are iconv_open, iconv, and iconv_close.

glassez commented 2 years ago

Can you show me what function does this work, and maybe I can figure out how to help?

It's Qt XML parser.

Maybe it's possible to ignore the encoding and attempt to parse it as another format? Then use whatever torrent files are found. This brute-force method could be stage 1 of this enhancement. Stage 2 could be either A) manually converting characters to make them UTF-8 compliant, or B) switching to a different library.

I don't think anyone would want to mess with this for the sake of maintaining compatibility with a couple of sites that still use outdated formats/technologies. Why don't you contact its administrator and remind him that it's 2022? In addition, you can still use Qt5 based build of qBittorrent (Qt6 based build is still in the experimental stage).

luzpaz commented 1 year ago

@glassez is this a wont fix then ?

luzpaz commented 1 year ago

@glassez please advise

glassez commented 1 year ago

@glassez please advise

What should I advise?

luzpaz commented 1 year ago

Is this a won't fix ticket and close or keep open ?

glassez commented 1 year ago

Is this a won't fix ticket and close or keep open ?

I expressed my opinion above. In 2023, it's not a qBittorrent issue at all that needs to be fixed (it's an RSS feeds problem that needs to be fixed there). To me, the Feature request "Add support for RSS decoding Windows-1251" looks like "Add Windows XP support". So I would mark it as "Not an issue". But that's just my opinion. None of the team presented their opinion.

xavier2k6 commented 1 year ago

https://github.com/qbittorrent/qBittorrent/issues/17816#issuecomment-1265228417 & https://github.com/qbittorrent/qBittorrent/issues/17816#issuecomment-1723775279 has covered this enough. I agree with @glassez - Op can use Qt5 builds or contact relevant site admin etc.